将具有负比例的 BigDecimal 转换为正比例
Transform a BigDecimal with a negative scale to a positive scale
我得到了 BigDecimal
个科学记数法的值,即 1E+3
并且具有 -3
的比例。我如何将其转换为 1000
比例为 0
?我看到你可以使用 toPlainString()
那么有没有直接的方法来实现这个?
如果我没理解错的话,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
是不可变的,因此您必须重新分配它。
我得到了 BigDecimal
个科学记数法的值,即 1E+3
并且具有 -3
的比例。我如何将其转换为 1000
比例为 0
?我看到你可以使用 toPlainString()
那么有没有直接的方法来实现这个?
如果我没理解错的话,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
是不可变的,因此您必须重新分配它。