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

How to convert a string with multiple points to double in android

我有一个包含多个点的字符串“3,350,800”我想转换为双精度但有错误 多个点

String number = "3,350,800"
number = number.replace(",", ".");
double value = Double.parseDouble(number);

Error : java.lang.NumberFormatException: multiple points

你需要使用这样的东西:

String number = "3,350,800";
number = number.replaceAll(",", "");
double value = Double.parseDouble(number);
System.out.println(value);

你想得到什么号码?
3.350.800 是您要解析为双精度的内容,
但这显然不是一个数字,因为有 "multiple points".

如果您只想获得 3,350,800 作为您的电话号码,只需更改此行 -
number = number.replace(",", ".");

到这个-
number = number.replace(",", "");

.字符在英文中用作小数点,一个数字中不能有多个小数点。

但您似乎将其用作千位分隔符。这在多个区域设置中是合法的 - 您只需要使用允许它的区域设置,例如:

String number = "3.350.800";
NumberFormat format = NumberFormat.getInstance(Locale.GERMAN);
double value = format.parse(number).doubleValue();

混合其他答案,没有理由更改 , for 。然后获取德国本地。

String number = "3,350,800";
NumberFormat format = NumberFormat.getInstance();
double value = format.parse(number).doubleValue();
System.out.println(value);

输出:

3350800.0