2012-01-29 68 views
3

)我是C#開發人員,現在我開始爲android編程應用程序。在C#中,我們有CultureInfo對象,我們可以在其中設置應用程序文化的值。在java(android)中有一個類似的對象讓我這樣做?我發現我可以使用此Locale.setDefault(Locale.FRENCH)設置語言環境;但我如何設置日期,數字和monetaris符號¿?Android:如何爲應用程序設置文化值

下面是C#代碼,我使用:

CultureInfo objCultureInfo = new CultureInfo("en-US", true); 
objCultureInfo.NumberFormat.NumberDecimalDigits = 2; 
objCultureInfo.NumberFormat.NumberDecimalSeparator = "."; 
objCultureInfo.NumberFormat.NumberGroupSeparator = ","; 
objCultureInfo.DateTimeFormat.DateSeparator = "/"; 
objCultureInfo.DateTimeFormat.TimeSeparator = ":"; 
objCultureInfo.DateTimeFormat.FullDateTimePattern = "MM/dd/yyyy HH:mm:ss"; 
objCultureInfo.DateTimeFormat.ShortDatePattern = "MM/dd/yyyy"; 
objCultureInfo.DateTimeFormat.ShortTimePattern = "HH:mm:ss"; 
objCultureInfo.NumberFormat.CurrencySymbol = "$"; 
Cultura.CulturaAplicacion = objCultureInfo; 

謝謝!

回答

2

在我看來,你不應該改變Locale的值。用戶在設置中將此值設備設置得寬。您也可以在那裏設置您的日期和時間格式。你應該在你的應用中使用這些值,而不是用自定義的值覆蓋它們,因爲用戶知道的更好,他/她想要使用哪種語言和格式。

+0

好吧,但如果我想知道數字小數點分隔符的類型是由用戶在他的移動設備中設置的或他看到日期的格式?我問這個,因爲我必須以特定的方式和日期保存浮點數,長數字,所以必須在保存前格式化和變換值。 – 2012-01-29 21:08:13

+0

我與Henrik就此合作,如果您的應用使用多種語言,期望遇到重大問題。 如果您需要使用特定格式,請根據您自己的預定語言設置進行設置,並讓用戶設置的用戶語言環境處理所有顯示格式。 如果沒有語言環境支持本地存儲的首選設置,請手動進行格式設置或創建自己的格式化程序,而不是更改現有區域設置。 – 2012-01-31 11:13:08

相關問題