从.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
。