Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
转换字符串时出错";10000.00“;在Java中加倍_Java_String_Format_Double - Fatal编程技术网

转换字符串时出错";10000.00“;在Java中加倍

转换字符串时出错";10000.00“;在Java中加倍,java,string,format,double,Java,String,Format,Double,我尝试使用方法double.valueOf将此字符串“10000.00”转换为double,但出现输入格式错误: java.lang.NumberFormatException: For input string: "10 000.00" 如何将其转换为双精度?您可以使用: Double.valueOf(input.replaceAll("[ ]","")); 以便在尝试转换之前删除空格 示例: public static void main(String[] args) { Syste

我尝试使用方法
double.valueOf
将此字符串“10000.00”转换为double,但出现输入格式错误:

java.lang.NumberFormatException: For input string: "10 000.00"
如何将其转换为双精度?

您可以使用:

Double.valueOf(input.replaceAll("[ ]",""));
以便在尝试转换之前删除空格

示例

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

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

当然,在
10
000
之间有空格。在转换之前移除它

尝试添加
replaceAll

Double.valueOf(str.replaceAll("[ ]+",""));
输入字符串“10000.00”中有空格

使用以下代码删除
字符串中的空格

Double.valueOf("10 000.00".replaceAll("[^0-9\\.]", "")) // also Works with Special space like \u00A0
Double类的静态方法将获取字符串并返回双精度值。
希望对您有所帮助

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

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

数字字符串中不能有空格。在我的机器上工作。。。字符串是否包含
字符?System.out.println(test);test=test.replaceAll(“[]”,”);System.out.println(test);输出:inline 10 000.00 inline 10 000.00是的,我有10 000.00 inline 10 000.00 inline输出,它不是emptyOk,您的空间不是空格:)它是
不间断空格
(在HTML中,ASCII 160)这就是为什么没有进行替换。现在,让我们来看看如何用Nothing替换此字符。我已经找到了以下解决方案:replaceAll(“\u00A0”,”)