簡體   English   中英

使用 mvc6 網格時無法將顯示格式設置為 2 位小數

[英]Can't set display format to 2 decimal places when using mvc6 grid

我需要在我的 .net core 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}");

我通過從此處獲取格式字符串並找到此處使用的Formatted方法來找到答案

這對我來說非常完美,因為它將值顯示為貨幣,但不會像{0:C}那樣顯示貨幣符號

在您的第一行中,您錯過了 'C' 后的小數點。 它應該是[DisplayFormat(DataFormatString = "{0:C2}")]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM