2014-10-19 71 views
1

我在格式閱讀在Java中輸入下面擺脫Java中的小數位?

2499.873639 
32.374242 
0.610059 
... 

現在我想擺脫小數位,並讓他們在這種格式

2499873639 
32374242 
610059 
... 

我有這樣的代碼,它會爲小數字不適用於較大的數字。較大的數字變爲負數(我認爲這溢出),並給它垃圾價值。

BigDecimal b = new BigDecimal(a).multiply(new BigDecimal("1000000.") 

如果我通過另外兩個

BigDecimal b = new BigDecimal(a).multiply(new BigDecimal("100000000.") 

增加0的它適用於更大的數字而不是更小的數字。總之有一堆如果是有無論如何解決這個問題?

回答

0

使用此:

BigDecimal b = new BigDecimal(a.toString().replace('.', '')); 
-1
String formattedInput = (String.valueOf(input)).replace(".", ""); 
-1

將double轉換爲String,如果不是。
然後使用String.replace('.', '');
然後根據需要轉換回int或long。

-1

您可以使用字符串替換功能來執行此操作。

public static BigDecimal noDecimal(BigDecimal b) { 
    return new BigDecimal(b.toPlainString().replace(".", "")); 
} 

如果你已經有了一個字符串,而不是一個BigDecimal,這可以簡化爲這樣:

public static BigDecimal noDecimal(String s) { 
    return new BigDecimal(s.replace(".", "")); 
}