在整型(int)与浮点型(float64)之间的计算时,会遇到计算精度问题,如下:
var a int = 1
var b float64 = 0.8
c := float64(a) - b
fmt.Println(c)
运行结果:
0.19999999999999996
而不是预期的结果;
初学go,请教如何解决。
在整型(int)与浮点型(float64)之间的计算时,会遇到计算精度问题,如下:
var a int = 1
var b float64 = 0.8
c := float64(a) - b
fmt.Println(c)
运行结果:
0.19999999999999996
而不是预期的结果;
初学go,请教如何解决。
7 回答5.4k 阅读
6 回答7k 阅读✓ 已解决
4 回答2.4k 阅读
1 回答3.4k 阅读
2 回答942 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
浮点数精度问题,在哪种语言都存在,只能靠自己设计来避免,比如统一数据类型,像价格肯定不可能存整数类型,如果确实已经存在了大量的历史数据,惯用的金额保留6位小数啊,展示2位啊各种吧,当然会有一个差异产生的,正常范围就行。