格式十进制为美国货币

时间:2011-03-03 21:12:11

标签: c# .net decimal

<%= Math.Round(netValue)%>

它输出的一个例子可能是-1243313

如何确保将其格式化为美国货币(使用'$',正确的逗号等)?

4 个答案:

答案 0 :(得分:10)

也许:

<%=string.Format(CultureInfo.GetCultureInfo(1033), "{0:C}", Math.Round(netValue)) %>

(1033是'en-us'文化的区域设置ID)

答案 1 :(得分:3)

如果线程文化恰好已经是en-US,那么您不需要指定它。

<%= Math.Round(netValue).ToString("C") %> 

否则,要获得美国文化,首先要创建一个文化对象。

CultureInfo usaCulture = new CultureInfo("en-US");

然后,您可以将其传递给小数对象上的ToString方法。

<%= Math.Round(netValue).ToString("C", usaCulture) %> 

答案 2 :(得分:1)

您可以使用format的货币代码C,如下所示:

decimal moneyvalue = 1921.39;
string output = String.Format("Order Total: {0:C}", moneyvalue);
Console.WriteLine(output);

编辑:如果国际化是一个问题,您可能也想看看localization

答案 3 :(得分:0)