2013-10-17 4 views
8

In der MVC Razor-Ansicht muss ein Dezimalfeld als Prozentsatz BUT ohne Prozentzeichen angezeigt werden. Zum Beispiel 2 oder 2.5Formatierung einer Dezimalzahl als Prozentsatz zur Anzeige in der Ansicht?

verstehe ich es von Modell sein kann, und es wird so etwas wie sein: an all

[AutoMapIgnore] 
    [DisplayFormat(DataFormatString = "{0:F1}")] 
    public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } } 

aber nicht tut jede bewirken, derzeit es wird wie folgt angezeigt:

Zur Zeit wird es als 3.00000 oder 2.50000 angezeigt.

Können Sie bitte führen.

Ich schätze Ihre Anleitung und Hilfe sehr.

Edit:

Wenn ich Format wie unten in Sicht, zeigt es als 3.0 oder 2.5

@row.OffPeakMarginPercent.ToString("0.0") 
+0

Nun haben Sie versuchen '{0: n1}' – V4Vendetta

Antwort

12

Änderung

[DisplayFormat(DataFormatString = "{0:F1}")] 

zu

[DisplayFormat(DataFormatString = "{0:P2}")] 

und entfernen * 100 von Getter

als das here Format für Prozentsätze in dezimal P nicht F

+0

Ich habe versuchte dies, aber es zeigt immer noch wie 3,00000. Kannst du erfreut meinen Schnitt und Guide sehen? Danke – Toubi

1

Verwenden

[RegularExpression(@"^\d+(\.\d)?$", ErrorMessage = "Only one decimal point value allowed")] 
[Range(0.1,100)] 
public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } } 
+0

Danke @Carlos Landeras, ich kann nicht aus irgendeinem Grund regulären Ausdruck verwenden. Außerdem ist es ein Calculatex-Feld. Können Sie bitte erläutern, warum die Formatierung nicht funktioniert? Bitte sehen Sie auch meine Bearbeitung. Danke vielmals. – Toubi

+0

Versuchen Sie Folgendes: {0: 000.0} –