2013-12-08 54 views
0

我寫入文件並將其讀回。我使用逗號分隔的文件格式,以便Excel可以輕鬆讀取文件。這對我來說很好,但我的荷蘭朋友無法讓程序工作。問題是,當我寫出52.345時,文件中的結果是52,345,當我讀回時,我得到52,然後是345作爲下一個字段。如何總是使用小數點而不是逗號與小數點寫數字

這不是格式化數字的問題,因爲此行爲發生在許多來源,從用戶輸入的編輯文本,從轉換爲字符串的字符序列以及用格式命令寫入的數字。代碼中有數百個實例,因此我需要一些涵蓋所有默認行爲的通用方法,並強制它使用Locale.US

我需要的是編寫應用程序的一種方式,以使平板電腦僅充當Locale .US平板電腦在各種方式,鍵盤,數字寫作等。我不想找到一種方法來更改一行代碼。

回答

2

您可以使用String.format (String format, Object... args)與不是強制性的語言環境的說法,明確地規定爲Locale.US

假設PLONG是雙重或浮動,不長,導致長期不用小數點。

waypointArray[0][2] = String.format(Locale.US, "%f", pLong); 

或者,如果你需要這對所有的應用程序,這在活動的onCreate,或一類推廣應用:

Locale.setDefault(Locale.US); 
Configuration config = new Configuration(); 
config.locale = Locale.US; 
getBaseContext().getResources().updateConfiguration(config, 
    getBaseContext().getResources().getDisplayMetrics()); 
+0

我認爲這是搞亂我們的代碼是這個\t \t \t waypointArray [0] [2] = pLong.toString();當我寫出字符串時,它已經是錯誤的了。 –

+0

改爲使用它:'waypointArray [0] [2] = String.format(Locale.US,「%f」,pLong);' – gahfy

+0

有沒有辦法讓整個應用程序或至少使用類Locale.US ?否則,我有數百個地方需要放置「Locale.US」。這個應用程序中有35個類,但是我應該指定Locale的地方很多。 –

相關問題