2014-10-19 42 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(".", "")); 
}