我有一位客户想要将他们的计算机本地化到他们的国家(巴西)。他们希望语言和区域设置都是巴西人。但是,我的应用程序需要使用美元,并将所有货币显示为美元。其他一切(语言,日期格式)必须是巴西人。
处理此问题的简单方法是什么?我的应用已经了解不同的地区,并且在不同的国家/地区有效。它是一个.net 4.0应用程序,所以我想我可以在应用程序启动时以编程方式更改货币格式。这是一个很好的方法吗?
答案 0 :(得分:3)
假设您使用decimal
作为货币类型,您可以使用CultureInfo
对象并在ToString()
方法中传递它。像这样:
decimal amount = 9.95m;
string amountString = amount.ToString("C", new CultureInfo("en-US"));
答案 1 :(得分:2)
当您的计划开始时,请将Thread.CurrentThread.CurrentCulture.NumberFormat
替换为来自en-US文化的NumberFormat
:
// On startup:
CultureInfo currentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone();
currentCulture.NumberFormat = new CultureInfo("en-US").NumberFormat;
Thread.CurrentThread.CurrentCulture = currentCulture;
注意:这会影响所有数字格式,而不仅仅是货币格式。如果您愿意,可以仅复制NumberFormat
中与货币相关的属性。