Java 双增量

Java 双增量,java,double,calculator,Java,Double,Calculator,我不明白为什么会有这些奇怪的十进制数字 比如5.19而不是5.2 为什么会这样?有没有一种方法可以让它像我的计算器一样显示在5.2中?提前谢谢。Marten这就是double的工作方式。这并不完美。您所看到的是舍入错误,这是由并非所有数字都可以用二进制准确表示这一事实造成的 如果你想提高精度,你应该试试BigDecimal。这是一个非常常见的问题,通过一些简单的研究就能找到答案。简而言之,您需要在计算或打印结果时对结果进行四舍五入。@assylias请不要指向重复项,查找原始问题(我认为是重复树

我不明白为什么会有这些奇怪的十进制数字 比如5.19而不是5.2
为什么会这样?有没有一种方法可以让它像我的计算器一样显示在5.2中?提前谢谢。Marten这就是double的工作方式。这并不完美。您所看到的是舍入错误,这是由并非所有数字都可以用二进制准确表示这一事实造成的


如果你想提高精度,你应该试试BigDecimal。

这是一个非常常见的问题,通过一些简单的研究就能找到答案。简而言之,您需要在计算或打印结果时对结果进行四舍五入。@assylias请不要指向重复项,查找原始问题(我认为是重复树的根,它尚未关闭)。
public static void main(String[] args) {
    double test = 1;
    int tick = 0;
    while(tick < 10){
        System.out.println(test += 1.4);
        tick++;
    }
}
2.4
3.8
5.199999999999999
6.6
8.0
9.4
10.8
12.200000000000001
13.600000000000001
15.000000000000002