4

我需要在我的 .net core asp mvc 项目中显示一些货币价值的平均总和。

我正在使用mvc 6 网格来显示数据,并且我尝试了以下解决方案:

[DisplayFormat(DataFormatString = "{0:C}")]
public double? AverageCost { get; set; }

[DisplayFormat(DataFormatString = "{0:#.####}")]
public double? AverageCost { get; set; }

[RegularExpression(@"^\d+\.\d{0,2}$")]
public double? AverageCost { get; set; }

但我的值仍然显示有几个小数位:

在此处输入图像描述

我错过了什么吗?

我知道我可以使用 mvc 6 网格格式化列,但是在 ViewModel 中没有这样做的方法吗?

请注意,这不是建议问题的重复。如果您真正阅读了这些问题,您会看到这一点。

4

2 回答 2

3

我可以通过使用该Formatted方法并在{0:N}视图本身中传递值来做到这一点:

columns.Add(model => model.AverageCost).Titled("AverageCost").Formatted("{0:N}");

我通过从这里获取格式字符串并找到这里Formatted使用的方法找到了答案

{0:C}这对我来说是完美的,因为它将值显示为货币但不显示货币符号

于 2018-10-18T12:20:02.777 回答
2

在您的第一行中,您错过了“C”之后的小数点。应该是[DisplayFormat(DataFormatString = "{0:C2}")]

于 2020-02-24T15:27:58.537 回答