我从另一个系统获取String格式的十进制值
String value = "33.123456".
如何将其转换为33123456,而不对“[。]”执行字符串拆分并再次加入?
答案 0 :(得分:3)
将.
替换为空 String
并将其解析为long
Long.parseLong(value.replace(".", ""));
还处理NumberFormatException
如果你想处理
123.00
使它像
123
然后乘以10的幂,如下所示,
String str = "123.0";
int numberOfDigitAfterDecimalPoint = str.length() - str.indexOf(".") - 1;
System.out.println(numberOfDigitAfterDecimalPoint);
System.out.println((long)(Double.parseDouble(str) * Math.pow(10.0, numberOfDigitAfterDecimalPoint - 1)));
或执行字符串操作以检查0
之后所有数字是否为.
,然后执行substring()
和Long.parseLong()
答案 1 :(得分:0)
double value_double = Double.parseDouble(value.replace('.', ''));
请参阅以下文档:
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html