相关疑难解决方法(0)

如何避免Java中的浮点数或双精度浮点精度错误?

我有一个非常恼人的问题,在Java中有很多浮点数或双打数.基本上这个想法是,如果我执行:

for ( float value = 0.0f; value < 1.0f; value += 0.1f )
    System.out.println( value );
Run Code Online (Sandbox Code Playgroud)

我得到的是:

0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.70000005
0.8000001
0.9000001
Run Code Online (Sandbox Code Playgroud)

我明白浮动精度误差的积累,但是,如何摆脱这个?我尝试使用双打错误的一半,但结果仍然相同.

有任何想法吗?

java sum floating-accuracy

30
推荐指数
3
解决办法
5万
查看次数

java中双精度乘法的准确性?

对于java中的double值,乘法运算符的保证精度是多少?

例如,2.2*100是220.00000000000003,但220是双数.220.00000000000003是220后的下一个双倍.

java floating-point multiplication double-precision

7
推荐指数
1
解决办法
6362
查看次数