没有符号的货币格式

Currency format without symbol

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

3,000.00 雷亚尔 9,000.00 美元

只会有:

3,000.00 9,000.00

我正在使用像

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

果然符号出现了。 如何没有它?

DataTypeAttributeDataType.Currency 枚举值将输入设置为带有符号标记的货币值,具体取决于 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; }

两者都可以用DisplayForEditorFor显示值:

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

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

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