gpt4 book ai didi

java - 双的问题

转载 作者:行者123 更新时间:2023-12-01 06:41:30 26 4
gpt4 key购买 nike

我将一个数字存储为double。它适用于小数字,但如果 double 是 1000000 并且我尝试向它添加 10,它不起作用,但我可以向它添加 100。如果 double 是 100000,我尝试向它加 1,它不起作用,但我可以向它加 10。

这是使用double的问题吗?对于最多 9 位数字,我应该使用什么格式?

编辑:我正在对数字进行计算并将其采用 0.00 小数格式。它适用于小数字,但不适用于大数字。这可能与其他计算有关。只是看看问题是否可能是双重的。

当我采用 1000001/100 并输入 0.00 小数格式时,我遇到了问题。但是 1000100/100 转换为 0.00 dec 格式是可行的。

最佳答案

不确定“它不起作用”是什么意思,考虑到它应该:

System.out.println(1000000d + 10d); // 1000010.0

它不起作用的情况是,所涉及的最大 double 的最高有效位的值超过大约 15 位:

System.out.println(Math.pow(10, 18) + 10d - Math.pow(10, 18)); // 0.0
System.out.println(Math.pow(10, 17) + 10d - Math.pow(10, 17)); // 16.0
System.out.println(Math.pow(10, 16) + 10d - Math.pow(10, 16)); // 10.0

关于java - 双的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com