0
fmt.Println(0.1 + 0.2) // 0.3
fmt.Println(float64(0.1) + float64(0.2)) // 0.30000000000000004

这两种浮点计算的区别是什么?

1个回答

1

已采纳

精度不一样,一个是32位,一个是64位,浮点数在计算机里本来就是近似表达的,所以出现偏差是正常的,有可能是32位出误差,有可能64位出误差,取决于你用的那个数。 实际上,你这个例子和go无关,所有的语言都会得到得到类似的结果。

撰写答案

Planets