通过c#中的代码更改货币

时间:2009-06-19 09:39:54

标签: c#

我使用以下内容显示金额:

String.Format(“{0:C}”,item.Amount)

此显示£9.99

这没关系,但是如果我希望应用程序能够控制货币并且能够将货币更改为白天该怎么办

$ 9.99加入

如何通过代码更改货币格式

4 个答案:

答案 0 :(得分:14)

货币符号由CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol定义。该属性是可读/写的,但如果您尝试更改它,您可能会遇到异常,因为NumberFormatInfo.IsReadOnly将为true ...

或者,您可以通过显式使用特定的NumberFormatInfo格式化数字:

NumberFormatInfo nfi = (NumberFormatInfo)CultureInfo.CurrentCulture.NumberFormat.Clone();
nfi.CurrencySymbol = "$";
String.Format(nfi, "{0:C}", item.Amount);

答案 1 :(得分:4)

Format的调用中指定文化:

    decimal value = 123.45M;
    CultureInfo us = CultureInfo.GetCultureInfo("en-US");
    string s = string.Format(us, "{0:C}", value);

答案 2 :(得分:1)

CultureInfo info = new CultureInfo (System.Threading.Thread.CurrentThread.CurrentCulture.LCID);
info.NumberFormat.CurrencySymbol = "EUR";

System.Threading.Thread.CurrentThread.CurrentCulture = info;

Console.WriteLine (String.Format ("{0:C}", 45M));

NumberFormatInfo info = new NumberFormatInfo ();
info.CurrencySymbol = "EUR";

Console.WriteLine (String.Format (info, "{0:C}", 45M));

答案 3 :(得分:-1)

如果更改金额的显示货币,则您也会更改其计量单位。 £1<> €1<> $ 1您绝对确定业务要求吗?