[英]How to solve NumberFormatException when parsing string to double/integer
[英]NumberFormatException when parsing a Double from string
长话短说,这是我的引发数字格式异常的代码:
String percenta = "6.415";
holder.setPercent(Double.parseDouble(percenta));
我也尝试过Double.valueOf()但它们都不起作用,仍然抛出相同的异常
这是异常消息
java.lang.NumberFormatException: For input string: "6.415"
这里似乎是什么问题?
编辑
所以问题毕竟出在我的编码中,我该如何更改呢?我正在使用JSOUP来解析一个页面,它应该是UTF-8,Double.parseDouble不是UTF-8友好的吗?
尝试使用:
NumberFormat format = NumberFormat.getInstance(Locale.US);
Number number = format.parse("6.415");
double d = number.doubleValue();
由于您的内部区域设置规范,可能会发生这种情况。
为了验证它,请检查它是否有效:
String percenta = "6,415";
holder.setPercent(Double.parseDouble(percenta));
我猜是因为您的计算机运行的是非英语语言环境。 尝试使用Double.valueOf(“ 6.415”)设置英语语言环境,还是请参阅使用逗号作为小数点分隔符的解析Double的最佳方法? 有关解析的更多信息。
选择变量名percenta
表示您正在使用语言环境sk-SK
。
语言环境的小数点分隔符是,
而不是.
。
6.415
是有效值,并且不应抛出NumberFormatException
。
检查您的编码。 当我复制粘贴您的代码时,在保存代码时出错。
Double解析不支持'percenta =“ 6.415”'的编码。
当我尝试复制您的代码时,请检查以下错误。
问题出在6.415。 看来您使用的键盘没有兼容的字符编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.