gpt4 book ai didi

java - java中除法不正确

转载 作者:行者123 更新时间:2023-12-01 06:52:38 25 4
gpt4 key购买 nike

我很困惑。我正在尝试获取 int值:

Integer ord = new Double(33 / (-2 * 1.1)).intValue();

期望:-15
输出:-14

怎么了?

当我尝试时:

Double d = 33 / (-2 * 1.1);

输出:-14.999999999999998

有什么想法吗?提前致谢!

最佳答案

.intValue() 将截断分形部分,以便您可以使用 Math.ceil() , Math.floor()或者您可以使用Math.round()将其近似为最接近的值

Integer result = (int) Math.round(new Double(33/(-2*1.1))); //-15
Integer result = (int) Math.floor(new Double(33/(-2*1.1))); //-15
Integer result = (int) Math.ceil(new Double(33/(-2*1.1))); //-14

您可以看到 Math.ceil() 给我们 14,因为这是一个负数 -14>-15,因此 -14.9999 的 ceil 是 -14 并且逆数适用于 Math.floor ()

关于java - java中除法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21014745/

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