【发布时间】:2016-08-24 06:13:44
【问题描述】:
这个错误可能是由于我不同的系统语言环境造成的。我使用 DOT 作为小数分隔符。
我尝试在我的应用程序启动时设置默认语言环境,但我遇到了同样的异常。
Locale.setDefault(Locale.US);
堆栈跟踪:
Caused by: java.lang.NumberFormatException: For input string: "6,2" at
sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) at
sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122) at
java.lang.Float.parseFloat(Float.java:451)
【问题讨论】:
-
i use DOT as decimal separator....NumberFormatException: For input string: "6,2"。听起来有些不对劲。 -
我很确定美国也使用点
-
您需要设置为使用逗号而不是点的语言环境(例如德语)。但是,最好在 NumberFormatter 实例上设置它而不是设置默认语言环境(它将在应用程序范围内产生各种效果)。
-
美国使用点?该死的..我很确定他们使用了逗号。虽然德语仍然给了我同样的例外......
-
@KevinEsche 我的计算机设置为使用点作为分隔符,但我的应用程序总是使用逗号分隔符获取浮点输入(它是一个网站解析器)。
标签: java