重做了系統,發現我們的應用系統美元符號$竟然是USD。查看系統區域我設置的是中國,改到美國,系統正常,大家可以測試一下:
對應如下代碼,將系統區域設置美國或者其他的國家的時候:
System.out.println(Currency.getInstance(Locale.US).getSymbol());
如果設置成美國 返回 $
如果設置成非美國 返回 USD
在Google上Search了一下,其實是JDK的一個Bug,Bug號如下:
http://bugs.sun.com/view_bug.do?bug_id=6573250 Java.util.Currency.getSymbol(Locale) returns wrong value when locale is not US.