Как отформатировать десятичную в MVC3 с более чем 2 десятичными - PullRequest
4 голосов
/ 12 ноября 2011

У меня есть объект, которым управляет служба WCF, поэтому объект создается с помощью ссылки на службу, поэтому я не могу аннотировать его, чтобы указать формат данных.Это десятичное число и должно быть отформатировано с 6 десятичными знаками.Как я могу сделать это в MVC3, на дисплее и в редакторе?

На дисплее я мог бы использовать

@Html.Display(format("{0:f4}", model.MyField))

Это не очень элегантно, но работоспособно.Но как я могу сделать это для форматирования редактора с 4 десятичными знаками?

РЕДАКТИРОВАТЬ:

Я нашел этот ответ на аналогичный вопрос, но это дает мне ошибку в строке

return html.TextBox(name, value, htmlAttributes);

Есть идеи, как ее решить?

Спасибо

Ответы [ 2 ]

3 голосов
/ 15 ноября 2011

Мне удалось сделать это следующим образом:

  1. Для отображения я использовал

    @string.Format("{0:f4}", Model.KPINumber)
    
  2. для редактирования я использовал

    @Html.TextBox("KPINumber", string.Format("{0:f4}", Model.KPINumber))
    
3 голосов
/ 12 ноября 2011

Вот более простой синтаксис:

@Html.Display(model.MyField.ToString("f4"))

Если вы хотите отобразить его в редактируемом текстовом поле, вы можете сделать то же самое:

@Html.TextBox("myField", model.MyField.ToString("f4"))

Очевидно, это не применяется4 десятичных знака на стороне клиента, но первоначально он отображает его с 4 десятичными знаками.

[Редактировать] : В ответ на ваше редактирование: Ответ на этот вопрос явно принятне компилируется, и комментарии также указывают на это.
Взгляните на Ответ Gaz , поскольку он исправляет ошибки компиляции и выглядит так, как будто он работает.

...