Razor页面必须同时显示两种不同的货币,即:使用句点和逗号格式化数字但不使用符号。因此,而不是:
R $ 3,000.00 US $ 9,000.00
只有:
3,000.00 9,000.00
我正在使用像
这样的数据注释方法[DataType(DataType.Currency)]
public float PrecoUsd { get; set; }
肯定会出现符号。 怎么没有?
答案 0 :(得分:3)
DataType.Currency
枚举值的 DataTypeAttribute
将输入设置为带有符号标记的货币值,具体取决于在web.config中设置的当前区域性或全球化属性。基于.NET数字格式字符串,您可以使用DisplayFormatAttribute
与DataFormatString
一起使用多种表示形式:
<强> 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; }
他们都可以使用DisplayFor
或EditorFor
来显示值:
@Html.DisplayFor(model => model.PrecoUsd)
@Html.EditorFor(model => model.PrecoUsd)
注意:使用#,#.##
会返回3,000而不是所需的3,000.00(请参阅this demo来证明)。至于显示与数字输入分开的货币符号,请使用DisplayAttribute
,例如[Display(Name = "US$")]
。