Wenn ich ein Dezimalliteral im Code verwenden möchte, habe ich gesehen, dass das m-Suffix existiert (wobei m für Geld steht). Ist dies für Dezimalstellen geeignet oder gibt es eine allgemeinere Zuordnung (d steht für double, das ist sicher nicht das Richtige, obwohl eine direkte Konvertierung unterstützt wird).
object decimalValue=2m;
Bitte beachten Sie, dass ich die Objektzuordnung als Beispiel genommen habe, weil im Fall von ...
decimal decimalValue=2;
... es ist implizit klar, dass 2 durch den Compiler als Dezimalzahl interpretiert werden sollte.
m scheint in Ordnung zu sein, msdn verwendet es als Beispiel für den Dezimaltyp.
char c = 'a'
Apostrophen um das Zeichen deklarieren .Ohne ein Suffix ist ein numerisches reelles Literal ein Double. Das Suffix m gibt an, dass ein numerisches reelles Literal eine Dezimalzahl sein soll.
Dies ist eigentlich wichtig zu wissen, da die Arithmetik für Gleitkommawerte (z. B. Double) ungenau ist. Zum Beispiel:
Hier enthält decimalValue tatsächlich ein Double mit dem unerwarteten Wert 7.5500000000000007! Wenn ich 7.55 will, könnte ich das tun:
Um Ihre Frage zu beantworten, ob es ein allgemeineres Suffix gibt, ist m das einzige Suffix für Decimal in C #. Es könnte für Geld stehen, wie Sie erwähnt haben, aber sie hatten etwas anderes als d verwendet, da dies von Double verwendet wird!
Weiterführende Literatur: Dezimal (C # -Referenz)
quelle
Kurze Antwort auf Decimal deklarieren in C #
O / P: 141,28
O / P: 100
Weitere Informationen finden Sie unter MSDN .
Hoffnung hilft jemandem.
quelle