如何在android中将具有多个点的字符串转换为double

T3R*_*RON 0 java android number-formatting numberformatexception

我有一个字符串"3,350,800"有多个点我想转换为double但有多个错误

String number = "3,350,800"
number = number.replace(",", ".");
double value = Double.parseDouble(number);
Run Code Online (Sandbox Code Playgroud)

错误:java.lang.NumberFormatException:多个点

Mur*_*nik 6

.字符在英语中用作小数点,并且您不能在数字中包含多个字符.

看起来好像你正在使用它作为千位分隔符.这在几个区域设置中是合法的 - 您只需要使用允许它的一个,例如:

String number = "3.350.800";
NumberFormat format = NumberFormat.getInstance(Locale.GERMAN);
double value = format.parse(number).doubleValue();
Run Code Online (Sandbox Code Playgroud)