Ответ 1
изменить
[DisplayFormat(DataFormatString = "{0:F1}")]
к
[DisplayFormat(DataFormatString = "{0:P2}")]
и удалите * 100 из геттера
как сказано в здесь формат для процентов в десятичном формате P
not F
В представлении MVC Razor десятичное поле должно отображаться как процент НО без знака процента. Например 2
или 2.5
Я понимаю, что это может быть из модели, и это будет что-то вроде:
[AutoMapIgnore]
[DisplayFormat(DataFormatString = "{0:F1}")]
public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } }
Но не делает никакого эффекта вообще, в настоящее время он отображается как:
В настоящее время он отображается как 3.00000
или 2.50000
.
Не могли бы вы посоветоваться.
Я высоко оцениваю ваше руководство и помощь.
Edit:
Если я буду форматировать, как показано ниже, он отобразится как 3.0
или 2.5
@row.OffPeakMarginPercent.ToString("0.0")
изменить
[DisplayFormat(DataFormatString = "{0:F1}")]
к
[DisplayFormat(DataFormatString = "{0:P2}")]
и удалите * 100 из геттера
как сказано в здесь формат для процентов в десятичном формате P
not F
Использование
[RegularExpression(@"^\d+(\.\d)?$", ErrorMessage = "Only one decimal point value allowed")]
[Range( 0.1,100)]
public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } }
в MVC 5 вы можете изменить индекс View, если вы хотите просто показать два нуля после двойного значения
код Befor
@Html.DisplayFor(modelItem => item.PRSPrice)
код после
@Convert.ToDouble(item.PRSPrice.Value).ToString("0.00")
Благодарю вас