Ich baue derzeit ein Verkaufsmodul für eine Kundenwebsite auf. Bisher habe ich den Verkaufspreis perfekt berechnet, aber wo ich festgefahren bin, formatiere ich die Ausgabe auf 2 Dezimalstellen.
Ich rufe dies derzeit in einer Variablen auf, damit ich die Ergebnisse an eine Listenansicht binden kann.
Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price / 100))).ToString())),
Kann mir jemand zeigen, wie man die Ausgabe auf 2 Dezimalstellen formatiert? Danke vielmals!
c#
variables
floating-point
decimal
Callum
quelle
quelle
Antworten:
Sie können das Format an die
ToString
Methode übergeben, z.Standard-Zahlenformat-Zeichenfolgen
quelle
Das erste, was Sie tun müssen, ist, den
decimal
Typ anstellefloat
der Preise zu verwenden. Die Verwendungfloat
ist dafür absolut inakzeptabel, da sie die meisten Dezimalbrüche nicht genau darstellen kann.Sobald Sie dies getan haben,
Decimal.Round()
können Sie auf 2 Stellen runden.quelle
String.Format("{0:#,###.##}", value)
Ein komplexeres Beispiel aus der Zeichenfolgenformatierung in C # :
quelle
Ich glaube:
Sollte es tun.
Siehe Beispiele für das Format von Verbindungszeichenfolgen C #
quelle
quelle
Wie bereits erwähnt, müssen Sie ein formatiertes Ergebnis verwenden. das alles geschieht durch die
Write()
,WriteLine()
,Format()
undToString()
Methoden.Was nicht erwähnt wurde, ist das Festkommaformat, das eine bestimmte Anzahl von Dezimalstellen zulässt. Es wird ein 'F' verwendet und die Zahl nach dem 'F' ist die Anzahl der ausgegebenen Dezimalstellen, wie in den Beispielen gezeigt.
quelle
Dies gilt für Fälle, in denen Sie interpolierte Zeichenfolgen verwenden möchten . Ich poste dies tatsächlich, weil ich es leid bin, zu versuchen und zu irren und schließlich jedes Mal, wenn ich etwas Skalar formatieren muss, durch Tonnen von Dokumenten zu scrollen.
Leistungswarnung
Interpolierte Zeichenfolgen sind langsam. Nach meiner Erfahrung ist dies die Reihenfolge (schnell bis langsam):
value.ToString(format)+" blah blah"
string.Format("{0:format} blah blah", value)
$"{value:format} blah blah"
quelle