为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

智慧大石 2021-08-25 17:47:20
我有一个字符串 "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();


查看完整回答
反对 回复 2021-08-25
?
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


查看完整回答
反对 回复 2021-08-25
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

你需要使用这样的东西:


String number = "3,350,800";

number = number.replaceAll(",", "");

double value = Double.parseDouble(number);

System.out.println(value);


查看完整回答
反对 回复 2021-08-25
  • 3 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信