所以 BigDecimal 似乎无法存储像 1/3 的答案那样无限连续的数字。当我尝试这样做时,我得到以下信息:
Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
所以我决定使用RoundingMode
. 当我这样做时(1/3)*3
,我希望它以 1 的形式返回,而不是像 0.9 或 0.99 或 0.999 或任何类似的形式。但是,如果我要做 (1/3)*2,我不希望它四舍五入到 1。