长话短说,这是我的引发数字格式异常的代码:
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();
这可能是由于您的内部Locale规范而发生的。
为了验证它,请检查它是否有效:
String percenta = "6,415";
holder.setPercent(Double.parseDouble(percenta));