浮点数是指小数点后可以有零个或多个数字的数字。例如 -2.4、0.1、3.14、5.、16.984025 和 1024.0。
不同的浮点数类型,在小数点后能存储的位数也不同,这就是它的精度。
Go 有两种浮点数类型:
float32:32 位(精度约为 6 到 9 位数字)。float64:64 位(精度约为 15 到 17 位数字)。
这是默认的浮点数类型。可以看到,这两种类型能存储的位数不同。
这意味着,试着把 PI 存入float32,也只能存下前 6 到 9 位数字(最后一位会四舍五入)。
默认情况下,Go 会为浮点数使用float64,除非这个浮点数:
float32的变量,或float32的函数中返回,或float32()函数。math 包里包含许多有用的数学函数。
检查浮点数值是否相等时一定要小心,因为看起来相等的两个值实际上可能并不相同。
在 0.30000000000000004.com 上可以找到一篇关于浮点数的简短介绍。 Float Toy 页面用漂亮的图解展示了浮点数的各个位是如何转换成实际的浮点值的。