java - 从字符串解析 Double 时出现 NumberFormatException

标签 java exception numberformatexception

长话短说,我的代码抛出了数字格式异常:-

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/

相关文章:

ruby - 如何修改救援条款中的异常消息?

postgresql - 另一个函数中的 SQLSTATE 和 GET STACKED DIAGNOSTICS 信息?

java - 什么是NumberFormatException,我该如何解决?

java - 在 Spring MVC/Hibernate 中简单地更新多个值

java - 如何在静态上下文中将泛型类与特定对象一起使用?

java - if(null check)-else vs try catch(NullPointerException) 哪个效率更高?

Java 数字格式异常

java - 如果浏览器已停止,我怎样才能停止这个 JSP?

java - 在方法中处理 RuntimeException 的更好方法是什么?

Java 无法将十六进制字符串解析为 int