gpt4 book ai didi

java - Java中浮点计算错误

转载 作者:行者123 更新时间:2023-12-01 17:56:32 25 4
gpt4 key购买 nike

求助,我在将 double 值与负数相加时遇到问题
显示问题的示例程序:

    double newX = 850.0;
double delta = -1.6994427191177073E12;
double total = delta + newX;
System.out.println("newX:" + newX);
System.out.println("delta:" + delta);
System.out.println("total:" + total);

但是给定的输出是:

 newX:850.0
delta:-1.6994427191177073E12
total:-1.6994427182677073E12

我预计总值(value)约为“848.30055729”。如何处理这个计算?

问候,

丹尼斯

最佳答案

计算正确。

让我们从科学记数法转换您的数字开始

-1.6994427191177073E12

转为十进制定点表示法:

-1699442719117.7073

这是因为 E12 表示 E 左边的数字乘以 1012

将该数字与 850.0 相加后,您将得到结果

-1699442718267.7073

通过将小数点一直移到左侧将其转换为科学记数法后,您的程序就会打印出结果。

关于java - Java中浮点计算错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44335491/

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