我有 BigDecimal 值。
BigDecimal price = new BigDecimal("100500100500.9999999").setScale(2, BigDecimal.ROUND_HALF_EVEN);
Run Code Online (Sandbox Code Playgroud)
它打印100500100501.00,虽然我需要100500100500.99. 是否可以对精确评估进行一些限制?
您可以ROUND_DOWN在setScale. 但是,首选采用 a的重载setScale方法RoudingMode。
BigDecimal price = new BigDecimal("100500100500.9999999")
.setScale(2, RoundingMode.DOWN);
Run Code Online (Sandbox Code Playgroud)
输出:
100500100500.99
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3822 次 |
| 最近记录: |