【发布时间】:2015-06-26 10:36:38
【问题描述】:
我得到BigDecimal 科学记数法的值,即1E+3 并且规模为-3。如何将其转换为 1000 并使用比例 0?我看到你可以使用toPlainString(),那么有没有直接的方法来实现这一点?
【问题讨论】:
标签: java scale bigdecimal scientific-notation
我得到BigDecimal 科学记数法的值,即1E+3 并且规模为-3。如何将其转换为 1000 并使用比例 0?我看到你可以使用toPlainString(),那么有没有直接的方法来实现这一点?
【问题讨论】:
标签: java scale bigdecimal scientific-notation
如果我理解正确,d = d.setScale(0) 将起作用:
BigDecimal d = BigDecimal.valueOf(1e3).setScale(-3);
System.out.println(d.unscaledValue());
d = d.setScale(0);
System.out.println(d.unscaledValue());
输出是:
1
1000
请注意,BigDecimal 是不可变的,因此您必须重新分配它。
【讨论】: