我有一个字符串 "3,350,800" 有多个点我想转换为 double 但有多个错误点String number = "3,350,800"number = number.replace(",", ".");double value = Double.parseDouble(number);错误:java.lang.NumberFormatException:多点
3 回答
三国纷争
TA贡献1804条经验 获得超7个赞
该.字符在英语中用作小数点,并且一个数字中不能超过一个。
不过,您似乎将其用作千位分隔符。这在多种语言环境中是合法的 - 您只需要使用允许它的一种,例如:
String number = "3.350.800";
NumberFormat format = NumberFormat.getInstance(Locale.GERMAN);
double value = format.parse(number).doubleValue();
jeck猫
TA贡献1909条经验 获得超7个赞
混合其他答案,没有理由更改 , for 。然后获取德国本地。
String number = "3,350,800";
NumberFormat format = NumberFormat.getInstance();
double value = format.parse(number).doubleValue();
System.out.println(value);
输出:
3350800.0
红颜莎娜
TA贡献1842条经验 获得超12个赞
你需要使用这样的东西:
String number = "3,350,800";
number = number.replaceAll(",", "");
double value = Double.parseDouble(number);
System.out.println(value);
添加回答
举报
0/150
提交
取消