我已经创建了一个java应用程序,我使用DecimalFormat来格式化数字的输出.
DecimalFormat df = new DecimalFormat("#.##"); return Double.parseDouble(df.format(costs));
它在我的计算机上工作正常,但当这个代码在另一台机器上执行时,我收到此错误:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "25,1" at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) at sun.misc.FloatingDecimal.parseDouble(Unknown Source) at java.lang.Double.parseDouble(Unknown Source)
两台机器都安装了最新的Java版本,两者都是Windows 7.一台机器是64位,而另一台机器是32位.可能是错误仅在另一台机器上发生的原因是什么?
区域设置,一句话.一台机器是欧洲格式,#,#
另一台是美国/英国,#.#
.
编辑:
使用DecimalFormat对象向两个方向传播:df.parse(...)
解析由其创建的字符串df.format
.