将Java中的字符串“10 000.00”转换为double时出错

时间:2013-09-17 14:38:27

标签: java string format double

我尝试将此字符串“10 000.00”转换为使用方法Double.valueOf加倍,并且输入格式错误:

java.lang.NumberFormatException: For input string: "10 000.00"

如何将其转换为双倍?

5 个答案:

答案 0 :(得分:6)

您可以使用:

Double.valueOf(input.replaceAll("[ ]",""));

在尝试转换之前删除空格。

示例

public static void main(String[] args) {
  System.out.print(Double.valueOf("10 000.00".replaceAll("[ ]","")));
}

输出

10000.0

答案 1 :(得分:3)

java.lang.NumberFormatException For input string: "10 000.00"

输入字符串“10 000.00”

中有空格

使用以下代码从 String

中删除空格
Double.valueOf("10 000.00".replaceAll("[^0-9\\.]", "")) // also Works with Special space like \u00A0

答案 2 :(得分:3)

我在上面的评论中看到了输入中的特殊空格。我认为我的代码将有助于解决:D

String number = input.replaceAll("[^0-9\\.]", "");
System.out.println(Double.valueOf(number));

答案 3 :(得分:1)

当然,10000之间有空格。转换前将其删除。

尝试添加replaceAll

Double.valueOf(str.replaceAll("[ ]+",""));

答案 4 :(得分:0)

Double.parse(String); // 

Double类的静态方法将接受一个字符串并返回一个double值。 希望有所帮助