This question already has answers here:
Strange float division result
                                
                                    (3个答案)
                                
                        
                6年前关闭。
            
        

当我想计算


  0.9623-0.9619


它返回:


  4.0000000000006697E-4


这是为什么?而我该如何避免呢?
我试着抛投,但没有帮助。


  System.out.println(0.9623 - 0.9619);



打印到控制台:


  4.0000000000006697E-4

最佳答案

它打印正确的答案。 4.0000000000006697E-44.0000000000006697 * 10^(-4),它是0.0004,是您的预期答案。

您可以使用DecimalFormat df = new DecimalFormat("#.####");使编译器仅显示四个小数位。 Here是一个很好的例子

关于java - 使用Eclipse(java)进行简单算术的奇怪结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22715839/

10-09 19:49