字符串到双转换

时间:2014-12-30 00:04:26

标签: java string double

我从另一个系统获取String格式的十进制值

String value = "33.123456".

如何将其转换为33123456,而不对“[。]”执行字符串拆分并再次加入?

2 个答案:

答案 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