浮点型表示带小数位的数字,或称浮点数。
浮点型在内存中的表示包含三个部分:符号位,指数位和有效数字位
类型
长度(byte)
指数位(bit)
有效数字位(bit)
float32
4
8
23
float64
11
52
例子: 定义浮点型
var speed float32 speed = 35.75 height := 1.78
在对浮点数进行匿名赋值的时候,默认会识别为float64类型
浮点型不是绝对精确的数值类型,存在一定的误差,因此在进行浮点数的比较时,需要指定精度
例子:存在误差的浮点数比较
package main import ( "fmt" ) func main() { var x, y = 3.1, 3.0 fmt.Println(x-y == 0.1) }
以上代码的执行输出结果会是false
false
例子:根据精度比较浮点数
package main import ( "fmt" "math" ) func main() { var x, y float64 = 3.1, 3.0 fmt.Println(IsEqual(x-0.1, y, 0.1)) } // IsEqual 判断x是否大于y,precision为判断精度 func IsEqual(x float64, y float64, precision float64) bool { return math.Abs(x-y) < precision }
以上代码的输出结果会是true
true
最后更新于4年前
这有帮助吗?