Java,只提取大十进制的小数部分?
2022-08-31 14:54:28
在Java中,我正在使用类,我的部分代码要求我从中提取分数部分。 似乎没有任何内置的方法来帮助我获得小数点后的数字。BigDecimal
BigDecimal
BigDecimal
例如:
BigDecimal bd = new BigDecimal("23452.4523434");
我想从上面表示的数字中提取。最好的方法是什么?4523434
在Java中,我正在使用类,我的部分代码要求我从中提取分数部分。 似乎没有任何内置的方法来帮助我获得小数点后的数字。BigDecimal
BigDecimal
BigDecimal
例如:
BigDecimal bd = new BigDecimal("23452.4523434");
我想从上面表示的数字中提取。最好的方法是什么?4523434
如果值为负数,则 using 将返回错误的小数。bd.subtract()
使用这个:
BigInteger decimal = bd.remainder(BigDecimal.ONE).movePointRight(bd.scale()).abs().toBigInteger();
它返回或4523434
23452.4523434
-23452.4523434
此外,如果您不希望小数部分的右侧出现额外的零,请使用:
bd = bd.stripTrailingZeros();
在上一个代码之前。