出于好奇,您会提出什么规则来决定一个包含小数点的十进制数字序列应该表示为双精度浮点数或BigDecimal?
鉴于IEEE 754双精度值和BigDecimal值在算术行为上有非常不同的保证(例如,在哪个算术结果是精确的,哪个不是精确的,以及当结果不是精确的时它们如何进行四舍五入),在我看来,如果必须显式选择使用BigDecimal值,那么这将是更加可预测的。
另一种表达上一段内容的方法是评论你在原始帖子中提到的一点,就是你认为BigDecimal是对IEEE 754浮点数的一种“提升”。我不这么认为。它们只是不同。
例如,我非常确定你可以在具有相同缩放比例的BigDecimal值上执行尽可能多的加法和减法运算,并且结果总是保证是精确的。这不是双精度值的情况。