gpt4 book ai didi

Java - 2.0 和 2.00000000000D 之间的实际区别

转载 作者:行者123 更新时间:2023-11-30 08:04:03 25 4
gpt4 key购买 nike

我正在重写前一段时间别人写的一些科学代码,并且在整个代码中常量总是声明为:

final double value = 2.0000000000D;

附有明显任意长度的所谓有效数字。我 95% 确定以这种方式声明变量实际上什么都不做,并将值设置为:

double value = 2.0;

完全一样。但可以肯定的是,我问的是,以这种方式声明常量是否会产生任何(有意义的)差异,或者这可能只是另一种语言的遗留物,它可能会有所不同?

编辑:作为对以下答案的回应:是的,在问这个问题之前,我验证了这个特定实例中的答案是相同的。也许我应该更具体一些。有没有一个例子,我们期望添加额外的“重要”数字实际上会返回一个不同的数字?我想如果我们得到非常大或非常小的值, float 开始出现分辨率问题,这是可能的吗?

最佳答案

在您的示例中,这没有区别。您可以像这样验证这一点,

final double value1 = 2.0000000000D;
double value2 = 2.0;
System.out.println(value1 == value2);

哪些输出

true

使用double value2 = 2.;也是合法的

关于Java - 2.0 和 2.00000000000D 之间的实际区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35963968/

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