如何避免Java中浮点数或双精度的浮点精度错误?
我有一个非常恼人的问题,长数量的浮动或双倍在Java中。基本上,我的想法是,如果我执行:
for ( float value = 0.0f; value < 1.0f; value += 0.1f )
System.out.println( value );
我得到的是:
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.70000005
0.8000001
0.9000001
我知道有一个累积的浮动精度误差,但是,如何摆脱这一点?我试着用双倍来减少错误的一半,但结果仍然是一样的。
有什么想法吗?
人到中年有点甜
相关分类