我正在阅读以下格式的PDF输入
2499.873639
32.374242
0.610059
...
现在我想摆脱小数位并让它们采用这种格式
2499873639
32374242
610059
...
我有这个代码,它用于较小的数字而不是较大的数字。较大的数字变为负数(我认为这是溢出的)并给它垃圾值。
BigDecimal b = new BigDecimal(a).multiply(new BigDecimal("1000000.")
如果我将0增加另外两个
BigDecimal b = new BigDecimal(a).multiply(new BigDecimal("100000000.")
它适用于较大的数字,但不适用于较小的数字。除了有一堆if if之外还有解决这个问题的方法吗?
答案 0 :(得分:0)
使用此:
BigDecimal b = new BigDecimal(a.toString().replace('.', ''));
答案 1 :(得分:-1)
String formattedInput = (String.valueOf(input)).replace(".", "");
答案 2 :(得分:-1)
如果不是,则将double转换为String。
然后使用String.replace('.', '');
然后,如有必要,转换回int或long。
答案 3 :(得分:-1)
您可以使用字符串替换功能执行此操作。
public static BigDecimal noDecimal(BigDecimal b) {
return new BigDecimal(b.toPlainString().replace(".", ""));
}
如果您已经有一个String而不是一个BigDecimal,可以简化为:
public static BigDecimal noDecimal(String s) {
return new BigDecimal(s.replace(".", ""));
}