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);
}

字符串替换逗号。替换
然后用
双精度解析。解析