>>> 0.1 + 0.01
0.11
>>> 0.1 + 0.02
0.12000000000000001
>>> 0.1 + 0.03
0.13
>>> 0.1 + 0.05
0.15000000000000002
>>> 0.1 + 0.06
0.16
一个程序每次最后浮点数相加结果不对,试了一下果然0.1 + 0.02
有问题,真的是莫名其妙,害的我调试半天。
学习到了,浮点数计算是有误差,因为计算机是用位数表示的,不能完整的表达数字的范围,其他编程语言也会有这个问题。
但是这种性质会对以后实际应用中有影响吗,是不是有什么规范化的方法避免这种误差呢?
期待大神们的解答。