форматирование 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; } }