从String变量开始我需要使用逗号作为小数分隔符获取它的Double值。
我不知道String是否包含int数字或带有小数点或逗号分隔的数字,所以我需要捕获不合适的String值的情况,因为存在字符或多个点或逗号。
答案 0 :(得分:2)
尝试类似:
String number = "20,981";
try {
double dNumber = Double.parseDouble(number.replace(',', '.'));
System.out.println("My double is " + dNumber);
} catch (NumberFormatException nfe) {
System.out.println("I got exception for invalid string " + number);
}
答案 1 :(得分:0)
您可以使用parseString()
或valueOf()
。使用try-catch-block对代码进行环绕以捕获任何NumberFormatExceptions。如果您不确定输入字符串是否包含逗号或句点,您可能会发现replace()
有用(String类)。注意,第一个参数是正则表达式,所以你需要逃避这个时期!