2014-09-03 64 views
0

我需要將小數部分從BigDecimal分開並轉換爲Integer獨立BigDecimal分數部分

如:

1.05(BigDecimal) => 5(int) 
1.30(BigDecimal) => 30(int) 

注:小數部分將不超過2個位數

回答

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 
+0

這個作品夥計。謝謝。! – Newbie 2014-09-03 07:48:02

1

試試這個:

int i = bigDecimal 
    .minus(new BigDecimal(bigDecimal.intValue()) 
    .multiply(new BigDecimal(100)) 
    .intValue(); 
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());