关于java.lang.NumberFormatException: For input string: "120.288761"

今天在类型转换时遇到一个巨隐蔽的bug

上代码

double test3=Double.parseDouble("120.288761");

非常简单的代码,却报了以下错误

我研究了半天没在代码其它地方发现问题。后来终于找到问题了将" 120.288761"复制到notepad 从utf-8改成ANSI编码结果出现"锘?20.288761"。原来在“和1之间有个隐藏字符在utf-8下根本看不出来。我还以为我被bug之神附体了。

其实我idea控制台的编码是utf-8看不出来,eclipse的控制台编码是ANSI结果一眼就看出来了。虽然utf8支持了中文但也有坏处啊。

待续。。。关于这隐藏字符是怎么跑到字符串里的还在研究, 不过解决方法也很简单加个trim(),测试了下trim()不起作用。

找到原因了,具体见下面这条链接:https://blog.csdn.net/sinat_37356064/article/details/78044929

猜你喜欢

转载自blog.csdn.net/SeptDays/article/details/85128163