Я разрабатываю приложение ASP.NET MVC 4, и я все еще новичок в MVC. Я заметил, что визуализировать дополнительные десятичные разряды, когда я использую Html.TextBox следующим образом.
@Html.TextBox("OriginalContractAmt", Model == null ? 0 : Model.OriginalContractAmt, new { @readonly = true })
Свойство OriginalContractAmt - это поле NotMapped в модели, и представление показывает значение как 479.4000.
Я хотел бы сделать это с точностью до двух знаков после запятой. т.е. 479,40. Как мне его архивировать? Пробовал следовать в модели, и это не имело никакого значения.
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:0.0#}")]
Заранее спасибо!
Вы можете использовать Math.Round() для округления фигуры до двух знаков после запятой.
как:
@Html.TextBox("OriginalContractAmt", Model == null ? 0 : Math.Round(Model.OriginalContractAmt,2), new { @readonly = true })
Если вы не хотите округлить или закруглить, вы можете использовать усечение, как это разработал Ханс Пассант здесь:
Вы указываете неправильную маску:
Итак, десятичные места в этой маске {0:0.0#}
:
Итак, ваша маска должна быть {0:0.00}
, т.е. Два обязательных десятичных знака.
Вы могли бы так обновиться, хотя это немного похоже на взлома:
@Html.TextBox("OriginalContractAmt", Model == null ? 0 : Decimal.Round(Model.OriginalContractAmt, 2), new { @readonly = true })
Я предполагаю, что округление будет прекрасным, так как вы потеряете точность при обратной передаче.