在 C# 中显示货币
Posted
技术标签:
【中文标题】在 C# 中显示货币【英文标题】:Displaying currency in C# 【发布时间】:2011-03-05 09:52:56 【问题描述】:我需要以美国货币格式显示数据值。这意味着 190.8 应显示为 $190.80。出于某种原因,我无法弄清楚如何做到这一点。有什么建议吗?
【问题讨论】:
【参考方案1】:您可以像这样明确指定美国文化:
string.Format(CultureInfo.GetCultureInfo("en-US"), "0:C", decimalValue)
C 表示指定文化的默认货币格式,在这种情况下正是您所追求的。如果您想要使用欧洲大陆数字格式(逗号而不是句点)的美国货币符号,那么您的工作当然会更难......
【讨论】:
【参考方案2】:Standard Numeric Format Strings
decimal moneyvalue = 1921.39m;
string html = String.Format("Order Total: 0:C", moneyvalue);
Console.WriteLine(html);
或
double value = 12345.6789;
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture));//CultureInfo.GetCultureInfo("en-US")
// current culture is English (United States):
// $12,345.68
【讨论】:
【参考方案3】: decimal d = 190.8M;
string displayData = d.ToString("c");
如果您的 CurrentCulture
已经是美国,则无需明确提供。
【讨论】:
【参考方案4】:string usCurrency = (190.8m).ToString("c", CultureInfo.GetCultureInfo("en-US"));
【讨论】:
【参考方案5】:String.Format("$0:n2", 190.8m);
【讨论】:
以上是关于在 C# 中显示货币的主要内容,如果未能解决你的问题,请参考以下文章
Developer Express XtraGrid - 不会显示货币。忽略显示格式