如何将具有多个点的字符串转换为 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
我有一个包含多个点的字符串“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