форматирование decimal в процентах для отображения в представлении?
в представлении 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")
2 ответов
изменить
[DisplayFormat(DataFormatString = "{0:F1}")]
до
[DisplayFormat(DataFormatString = "{0:P2}")]
и удалить *100 из геттера
как сказал здесь формат для процентов в десятичном формате -P
не F
использовать
[RegularExpression(@"^\d+(\.\d)?$", ErrorMessage = "Only one decimal point value allowed")]
[Range( 0.1,100)]
public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } }