出于好奇,你建议什么样的规则来确定一个包含小数点的十进制数字序列,是否应该用double或BigDecimal来表示?
鉴于IEEE 754双精度值和BigDecimal值的算术行为有很大不同,例如在哪些算术结果是精确的,哪些不是,以及当结果不精确时它们如何执行舍入等方面,我认为在必须明确选择使用BigDecimal值时,这似乎要更可预测。
另一种表述前一段段落观点的方法是评论你在原始帖子中提到的一句话,你认为BigDecimal是一种超过IEEE 754浮点数的“升级”。我不认为这是真的。它们只是不同。
例如,我非常确信你可以对相同尺度的BigDecimal值进行大量的加法和减法,而且结果总是保证是精确的。这并不适用于double值。