2013-11-14 30 views
1

我剛剛在Windows中更改了我的語言環境設置,例如小數點符號是點而不是逗號。我運行Java程序的時候(我沒有改變NL到美國或任何東西(因爲我想NL風格日期格式),我只是設置一些自定義的格式設置。)將自定義OS的語言環境設置應用於Java

這種變化不會反映。

System.out.println(new Scanner("4,0 ").nextDouble()); 

輸出

4.0 

而不是給一個例外,而現在

System.out.println(new Scanner("4.0 ").nextDouble()); 

給出了異常。

如何讓Java知道自定義語言環境設置已更新? Java甚至有可能知道這些自定義設置嗎?

+1

據我所見,參考實現不考慮這種自定義。唯一的解決方案是使用本機Windows API實現新的[DecimalFormatSymbolsProvider](http://docs.oracle.com/javase/7/docs/api/java/text/spi/DecimalFormatSymbolsProvider.html)以獲取符號。 – Holger

回答

0
Locale.setDefault(Locale.ENGLISH); 
+0

這將導致日期而不是數字相同的問題。 –

相關問題