长话短说,我的代码抛出了数字格式异常:-
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));
关于java - 从字符串解析 Double 时出现 NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16915340/