长话短说,这是我的引发数字格式异常的代码:

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));

10-04 19:29