我需要将小数部分与BigDecimal
分开并转换为Integer
。
例如:
1.05(BigDecimal) => 5(int)
1.30(BigDecimal) => 30(int)
注意:小数部分不会超过2位
答案 0 :(得分:3)
试试这个:
int i = bigDecimal
.minus(new BigDecimal(bigDecimal.intValue())
.multiply(new BigDecimal(100))
.intValue();
答案 1 :(得分:1)
也许有一种更简单的方法,但这有效:
BigDecimal a = new BigDecimal("1.05");
BigDecimal b = new BigDecimal("1.3");
System.out.println(a.movePointRight(2).intValue() % 100);
System.out.println(b.movePointRight(2).intValue() % 100);
>> 5
>> 30
答案 2 :(得分:0)
试试这段代码:
BigDecimal big = new BigDecimal("1.5");
BigDecimal fraction =big.remainder(BigDecimal.ONE);
System.out.println(fraction.multiply(new BigDecimal(10).pow(big.precision()-1)).intValue());