在Java中使用Double vs BigDecimal解析双精度值

问题描述 投票:10回答:1

我是一位经验丰富的开发人员,但不是数学专家。我对IEEE浮点规范了解得足够多,因此害怕做出关于解析,打印和比较它们的假设。

我知道我可以使用doubleString解析Double.parseDouble(String s)。我知道我也可以使用Double.parseDouble(String s)将相同的字符串解析为BigDecimal,然后使用new BigDecimal(String s)new BigDecimal(String s)询问BigDecimal

我浏览了这两种技术的API和代码,似乎double有很多不同的解析和转换选项。

对于所有字符串输入,是否都保证两种技术(BigDecimal.doubleValue()BigDecimal.doubleValue())都能产生完全相同的BigDecimal基本值,只要该值不在正负Double.parseDouble(s)的范围内?

java floating-point double
1个回答
0
投票

是。我在超级计算机上一一测试了所有2 ^ 64种组合。

© www.soinside.com 2019 - 2024. All rights reserved.