猿问

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

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


String number = "3,350,800"

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

double value = Double.parseDouble(number);

错误:java.lang.NumberFormatException:多点


智慧大石
浏览 151回答 3
3回答

三国纷争

该.字符在英语中用作小数点,并且一个数字中不能超过一个。不过,您似乎将其用作千位分隔符。这在多种语言环境中是合法的 - 您只需要使用允许它的一种,例如:String number = "3.350.800";NumberFormat format = NumberFormat.getInstance(Locale.GERMAN);double value = format.parse(number).doubleValue();

jeck猫

混合其他答案,没有理由更改 , for 。然后获取德国本地。String number = "3,350,800";NumberFormat format = NumberFormat.getInstance();double value = format.parse(number).doubleValue();System.out.println(value);输出:3350800.0

红颜莎娜

你需要使用这样的东西:String number = "3,350,800";number = number.replaceAll(",", "");double value = Double.parseDouble(number);System.out.println(value);
随时随地看视频慕课网APP

相关分类

Java
我要回答