【发布时间】:2015-02-25 17:45:01
【问题描述】:
有人能解释一下为什么第一行的结果是 0 吗?
System.out.println((new BigDecimal("1.0E+8")).divide(new BigDecimal(100000000), BigDecimal.ROUND_HALF_UP));
System.out.println((new BigDecimal("1.0E+8")).subtract(BigDecimal.ONE).divide(new BigDecimal(100000000), BigDecimal.ROUND_HALF_UP));
0E+7
1
【问题讨论】:
-
为什么是“0E+7”而不是“0”?
-
@user2864740 那 是 输出,但我认为 OP 期望
1。
标签: java rounding bigdecimal divide