我正在使用JRE1.7更新9,在我的应用程序中,我将数值从BigDecimal转换为字符串。我将我的语言环境设置保留为法语(比利时),并使用默认的其他设置。 我正面临将此bigdecimal转换为字符串的问题。当我点击金额字段时,它会被多达100并显示为100的倍数值,例如。如果我将值设置为52.00,那么它会修改此值并将其显示为5200.只有此区域设置才会出现问题。使用JRE 1.6检查相同的方案,但是对于此Locale没有这样的问题。只有这个JRE1.7对这个特定的Locale有问题。此外,我没有得到任何例外情况。
答案 0 :(得分:3)
在Belgian/French locale .
(句号)中是一个组分隔符,,
(逗号)是小数点分隔符。
换句话说,52.00
实际上是5200
,而52,00
是52。
答案 1 :(得分:1)
您好EveryOne我找到了解决此问题的方法。由于Locale.getDefault()的更改,此问题来自Oracle。由于此更改,即使我们选择任何其他Locale,默认区域设置也会设置为en_US。有关Oracle bugdatabase中此问题的更多信息,请参阅此链接。此问题仅适用于JRE1.7而不适用于JRE1.6
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7073906
谢谢。