Java:从带有未知小数分隔符的字符串中选择带逗号的双精度
从一个字符串变量开始,我需要获得它的一个双精度值,用逗号作为十进制分隔符Java:从带有未知小数分隔符的字符串中选择带逗号的双精度,java,Java,从一个字符串变量开始,我需要获得它的一个双精度值,用逗号作为十进制分隔符 我不知道字符串是否包含整数或小数点或逗号分隔的数字,所以我需要捕获字符串值不合适的情况,如存在字符或多个点或逗号 您可以使用parseString()或valueOf()。用try-catch块包围代码,以捕获任何NumberFormatException。如果您不确定输入字符串是包含逗号还是句点,您可能会发现replace()很有用(String类)。注意,第一个参数是一个正则表达式,所以您需要避开句点 试试以下方法:
我不知道字符串是否包含整数或小数点或逗号分隔的数字,所以我需要捕获字符串值不合适的情况,如存在字符或多个点或逗号 您可以使用
parseString()
或valueOf()
。用try-catch块包围代码,以捕获任何NumberFormatException。如果您不确定输入字符串是包含逗号还是句点,您可能会发现replace()
很有用(String类)。注意,第一个参数是一个正则表达式,所以您需要避开句点 试试以下方法:
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);
}
用
字符串替换逗号。替换
然后用双精度解析。解析