我有一个Xamarin.Forms应用程序,它正在为GeoLocation获取2个字母的ISO国家/地区代码。我需要该应用以本地风格显示货币。因此,如果我将手机从英国带到日本,它将显示日元格式的货币字段。
格式化小数货币的最直接方法是使用CultureInfo对象。
如何从2个字母的ISO国家/地区代码访问CultureInfo对象。我已经尝试了好几天了,但是找不到转换的路径。
有指针吗?
var isoCountryCode = "GB"; // Replace with the one you got from GeoLocation.
var cultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
.Where(c => c.Name.EndsWith("-" + isoCountryCode )).First;
Run Code Online (Sandbox Code Playgroud)
如果您查看由Microsoft提供的CultureCodes列表,则可以看到该文化的前两个字母表示语言,而后两个字母表示国家。例如,对于日语,您将拥有“ ja”和“ ja-JP”)。
因此,如果您在文化列表中搜索以所需国家/地区代码结尾的文化,则应获取所需国家/地区的所有可用CultureInfo的列表。
然后,您可以再次遍历它们以为用户选择的语言(如果有)找到一种,也可以任意选择一种。
归档时间: |
|
查看次数: |
2691 次 |
最近记录: |