加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – DecimalFormat在其他机器上的工作方式不同

发布时间:2020-12-15 04:31:31 所属栏目:Java 来源:网络整理
导读:我已经创建了一个 java应用程序,我使用DecimalFormat来格式化数字的输出. DecimalFormat df = new DecimalFormat("#.##"); return Double.parseDouble(df.format(costs)); 它在我的计算机上工作正常,但是当这个代码在另一台机器上执行时, 我收到此错误: Exc
我已经创建了一个 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创建的String.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读