没有符号的货币格式

时间:2017-10-14 20:04:11

标签: c# asp.net-mvc entity-framework razor data-annotations

Razor页面必须同时显示两种不同的货币,即:使用句点和逗号格式化数字但不使用符号。因此,而不是:

R $ 3,000.00 US $ 9,000.00

只有:

3,000.00 9,000.00

我正在使用像

这样的数据注释方法
[DataType(DataType.Currency)]
public float PrecoUsd { get; set; }

肯定会出现符号。 怎么没有?

1 个答案:

答案 0 :(得分:3)

具有DataType.Currency枚举值的

DataTypeAttribute将输入设置为带有符号标记的货币值,具体取决于在web.config中设置的当前区域性或全球化属性。基于.NET数字格式字符串,您可以使用DisplayFormatAttributeDataFormatString一起使用多种表示形式:

<强> 1。 Standard Numeric Format

[DisplayFormat(DataFormatString = "{0:N2}")]
public float PrecoUsd { get; set; }

<强> 2。 Custom Numeric Format

// using placeholder '#'
[DisplayFormat(DataFormatString = "{0:#,#.00}")]
public float PrecoUsd { get; set; }

// using placeholder '0'
[DisplayFormat(DataFormatString = "{0:0,0.00}")]
public float PrecoUsd { get; set; }

他们都可以使用DisplayForEditorFor来显示值:

@Html.DisplayFor(model => model.PrecoUsd)

@Html.EditorFor(model => model.PrecoUsd)

注意:使用#,#.##会返回3,000而不是所需的3,000.00(请参阅this demo来证明)。至于显示与数字输入分开的货币符号,请使用DisplayAttribute,例如[Display(Name = "US$")]