从.ToString(“{0:C}”)格式化的数字中删除$

基本上我正在格式化这样的数字

@String.Format("{0:C}", Model.Price) 

结果是2,320,000.00美元

然而,我想要的结果是2,320,000.00 ,分别没有$ 。 我怎样才能实现这一点,同时仍然利用.nets本地化处理?

编辑

如果我想改变我的课程,那么当一个人试图获得Price ,他会得到这种格式化价格。 这是我的课

 public class Listing : DomainObject { public decimal Price { get; set; } public decimal Commission { get; set; } } 

使用N而不是C作为格式说明符 :

 @String.Format("{0:N}", Model.Price) 

“C”或“c”货币结果:货币值。

123.456(“C”,en-US) – > 123.46美元

“N”或“n”数字结果:积分和十进制数字,组分隔符和小数

1234.567(“N”,en-US) – > 1,234.57

即你得到一个货币符号,因为你要求一个。

您需要将Price属性设置为字符串,并且具有小数的后备字段,然后在Price属性的getter中执行字符串格式。

 private decimal price; public String Price { get { return String.Format("{0:N}", price); } } 

然后你可以使用@Model.Price进行显示。

而是使用{0:F2}因为这不包括逗号’,’就像在{0:C}中一样。

 Console.Write("{0:F2}", 2.5); //2.50 Console.Write("{0:F0}", 25); //25 

CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol设置为string.Empty