使用 mvc6 网格时无法将显示格式设置为小数点后两位
Can't set display format to 2 decimal places when using mvc6 grid
我需要在我的 .net 核心 asp mvc 项目中显示一些货币值的平均总和。
我正在使用mvc 6 grid显示数据,我已经尝试了这些解决方案:
[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 中没有这样做的方法吗?
请注意,这不是所建议问题的副本。如果您实际阅读这些问题,您会看到这一点。
我能够通过使用 Formatted
方法并在视图本身中传递值 {0:N}
来做到这一点:
columns.Add(model => model.AverageCost).Titled("AverageCost").Formatted("{0:N}");
我通过从 here and finding the Formatted
method used here
获取格式字符串找到了答案
这对我来说是完美的,因为它将值显示为货币,但不像 {0:C}
那样显示货币符号
在你的第一行中你错过了 'C' 之后的小数点。应该是 [DisplayFormat(DataFormatString = "{0:C2}")]
我需要在我的 .net 核心 asp mvc 项目中显示一些货币值的平均总和。
我正在使用mvc 6 grid显示数据,我已经尝试了这些解决方案:
[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 中没有这样做的方法吗?
请注意,这不是所建议问题的副本。如果您实际阅读这些问题,您会看到这一点。
我能够通过使用 Formatted
方法并在视图本身中传递值 {0:N}
来做到这一点:
columns.Add(model => model.AverageCost).Titled("AverageCost").Formatted("{0:N}");
我通过从 here and finding the Formatted
method used here
这对我来说是完美的,因为它将值显示为货币,但不像 {0:C}
在你的第一行中你错过了 'C' 之后的小数点。应该是 [DisplayFormat(DataFormatString = "{0:C2}")]