繁体   English   中英

将字符串解析为double的java.lang.NumberFormatException

[英]java.lang.NumberFormatException from parsing a string to a double

我不知道

double d = Double.valueOf(str);
double d2 = Double.parseDouble(str);

这两种方法都会产生以下异常:

java.lang.NumberFormatException:无效的双精度字符:“ -73.04”

但是,以下硬编码值可以正常工作:

double d = Double.valueOf("-73.04");

复制此问题标题中的数字并粘贴到双引号之间的IntelliJ中之后,就可以清楚地知道问题出在哪里:

double d = Double.parseDouble("\u200E-73.04");

Exception in thread "main" java.lang.NumberFormatException: For input string: "?-73.04"

从您的硬编码-73.04复制它没有此行为。

您的字符串中以某种方式有一个“从左到右的标记” Unicode字符 解析字符串之前,必须从字符串中删除该多余的Unicode字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM