使用文化和全球化设置货币格式

时间:2013-12-06 14:43:59

标签: c# globalization

我想在全球范围内格式化货币。对于英文货币格式将显示为$ XXX,XXX.XX。 如果是法语,那么货币格式将显示为XXX.XXX,XX $。 如何在C#中使用文化和全球化设置货币格式?

下面是我设置日期格式的C#代码:

if (Thread.CurrentThread.CurrentCulture.Name.Equals("fr-CA") || Thread.CurrentThread.CurrentCulture.Name.Equals("en-CA"))
{
   var currentCulture = Thread.CurrentThread.CurrentCulture;
   var culture = (CultureInfo)currentCulture.Clone();
   culture.DateTimeFormat.ShortDatePattern = "yyyy/MM/dd";
   Thread.CurrentThread.CurrentCulture = culture;                            
}

3 个答案:

答案 0 :(得分:2)

通过NumberFormatInfo使用CultureInfo.NumberFormat,并且有各种与货币相关的属性,包括CurrencyDecimalSeparatorCurrencyPositivePattern

看起来你想要一个积极的模式1 - 你必须找出你想要的负面模式。

答案 1 :(得分:0)

查看这两个

MSFT String format

来自StackOverflow

样品:

double value = 12345.6789;
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture));

答案 2 :(得分:0)

使用Windows.Globalization.NumberFormatting.CurrencyFormatter是格式化货币的首选方式。此类从Windows 8开始提供,可用于桌面或Windows应用商店应用程序。您可以指定要与显示的语言规则分开格式化的货币。