Android:如何为应用程序设置区域性值

Android:如何为应用程序设置区域性值,android,date,numbers,locale,culture,Android,Date,Numbers,Locale,Culture,)我是一名C#开发者,现在我开始为android编写应用程序。在C#中,我们有CultureInfo对象,可以在其中为应用程序的区域性设置值。java(android)中有一个类似的对象可以让我这么做?我发现我可以用locale.setDefault(locale.FRENCH)设置语言环境;但我如何设定日期、数字和货币符号 下面是我使用的C#代码: CultureInfo objCultureInfo = new CultureInfo("en-US", true); objCultureIn

)我是一名C#开发者,现在我开始为android编写应用程序。在C#中,我们有CultureInfo对象,可以在其中为应用程序的区域性设置值。java(android)中有一个类似的对象可以让我这么做?我发现我可以用locale.setDefault(locale.FRENCH)设置语言环境;但我如何设定日期、数字和货币符号

下面是我使用的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;

谢谢

在我看来,您根本不应该更改区域设置值。用户在“设置”中在设备范围内设置此值。您也可以在那里设置日期和时间格式。你应该在应用程序中使用这些值,而不是用自定义值覆盖它们,因为用户更清楚他/她想要使用的语言和格式。

我想我在这里找到了我需要的:


谢谢

好的,但是如果我想知道用户在他的移动设备中设置了哪种类型的数字小数分隔符,或者他看到日期的格式是什么?我问这个问题是因为我必须以特定的方式保存浮点数、长数字和日期,所以必须在保存之前格式化和转换值。我支持Henrik的观点,如果你的应用程序使用多语言,可能会出现重大问题。如果需要使用特定的格式,请确定您自己预先确定的语言设置,并让用户设置的用户区域设置处理所有显示格式。如果没有区域设置支持本地存储的首选设置,请手动设置其格式或创建自己的格式化程序,而不是更改现有区域设置。