Я хочу после десятичной запятой только 2 цифры.Как ограничить до 2 десятичных знаков в TextBoxFor в MVC?
@Html.TextBoxFor(m => m.Viewers, new { @tabindex = 7 })
Необходимость вывода, как это:
56,23
456,20
1,21
подобное ..
Я хочу после десятичной запятой только 2 цифры.Как ограничить до 2 десятичных знаков в TextBoxFor в MVC?
@Html.TextBoxFor(m => m.Viewers, new { @tabindex = 7 })
Необходимость вывода, как это:
56,23
456,20
1,21
подобное ..
Я использовал шаблоны редактора в своих представлениях. Я бы определил модель представлений, которые специально приспособленную к требованиям данной точки зрения (в данном случае, ограничивая его до 2 знаков после запятой):
[DisplayFormat(DataFormatString = "{0:n2}", ApplyFormatInEditMode = true)]
public decimal Viewers{ get; set; }
или Вы можете просто использовать регулярные выражения с моделью как
[RegularExpression(@"^\d+.\d{0,2}$]
public decimal Viewers{ get; set; }
, а затем:
@Html.EditorFor(m => m.Viewers)
или TextBoxFor()
также будет работать с регулярным выражением
@Html.TextBoxFor(m => m.Viewers, new { @tabindex = 7 })
приятное решение;) –
Я предлагаю вам отформатировать десятичные на стороне клиента, как это:
В вашем ViewModel
:
[DisplayFormat(DataFormatString = "{0:n2}", ApplyFormatInEditMode = true)]
public decimal Viewers { get; set; }
А на ваш взгляд использования EditorFor
:
@Html.EditorFor(m => m.Viewers, new { @tabindex = 7 })
Когда это значение сообщения на ваш Controller
просто обрезать его до 2 Nums.
Если вам нужно использовать Regex проверки:
[RegularExpression(@"^\d+\.\d{0,2}$")] //this line
[DisplayFormat(DataFormatString = "{0:n2}", ApplyFormatInEditMode = true)]
public decimal Viewers { get; set; }
В View
@Html.TextBoxFor(m => m.Viewers, new { @tabindex = 7 }, new { Value=String.Format("{0:0.##}",Model.Viewers) })
В контроллере также можно форматировать String.Format ("{0:. 0 ##}", Object .viewers)
Объект- Средство модель (содержит поле Зрителей), который передается Просмотр
Надеется, что это полезно
Если я использую.
String.Format("{0:0.00}", 123.4567);
Так результат:
// "123.46"
Таким образом, вы можете попробовать это
@Html.TextBoxFor(m => String.Format("{0:0.00}", m.Viewers) , new { @tabindex = 7 })
«Ошибка HTTP 404.0 - Не найдено Ресурс, который вы ищете, удален, изменилось его имя или временно недоступно. " - Получилась такая ошибка. – lashja
попробуйте перестроить это не ошибка HTML-кода, пожалуйста, обратитесь за помощью к этой ошибке здесь. https://support.microsoft.com/en-us/kb/942041 –
$("#Viewers").change(function (e) {
var num = parseFloat($(this).val());
$(this).val(num.toFixed(2));
});
@Html.TextBoxFor(m => m.Viewers, new { @tabindex = 7 })
Спасибо за все ответить мне !!! :)
является приемлемым решением JQuery? –
Вы попробовали string.Format? –
@ Редди. Я конечно. это. – lashja