Java 用BigDecimal如何计算小数点后的位数?

Java 用BigDecimal如何计算小数点后的位数?,java,android,math,bigdecimal,Java,Android,Math,Bigdecimal,我试着用大小数来计算一些东西,如果它有更多的小数点,就四舍五入到小数点后5位。我该怎么做 scale()可以工作吗?您是否已经浏览了JavaDoc,尤其是函数 这可能是一个直接的解决方案,无需首先检查精度: yournumber.round(new MathContext(5, HALF_UP)); 然后使用stripTrailingZeros()(thx到@GregKopff)我已经试过了,但是如果(例如)数字是1,它表示为1.00000。然后也使用stripTrailingZeros()。

我试着用大小数来计算一些东西,如果它有更多的小数点,就四舍五入到小数点后5位。我该怎么做


scale()可以工作吗?

您是否已经浏览了JavaDoc,尤其是函数

这可能是一个直接的解决方案,无需首先检查精度:

yournumber.round(new MathContext(5, HALF_UP));

然后使用stripTrailingZeros()(thx到@GregKopff)

我已经试过了,但是如果(例如)数字是1,它表示为1.00000。然后也使用
stripTrailingZeros()
。做一个证明总是一个好主意,你也可以告诉我们哪里出了问题。最后的解决方案是:谢谢,number.round和stripTrailingZeroes()部分成功了。