Dezimalliteral in C#
Beim Initialisieren von Variablen in C# müssen Sie möglicherweise den Datentyp explizit angeben, den Sie für numerische Datentypen beabsichtigen. Wenn nicht, werden sie als Standarddatentypen wie Ganzzahlen oder Doubles behandelt. Es kann Kompilierungsfehler verursachen, wenn es weggelassen wird, oder Fehler während der Berechnung.
Das Dezimalliteral
Beim Initialisieren einer Dezimalzahl müssen Sie wie folgt vorgehen:
decimal decimalValue = 12.0M;
Wenn Sie das Dezimalliteral M
nicht hinzufügen, wird der numerische Wert als Double behandelt und führt zu Fehlern. Sie können sowohl Groß- als auch Kleinschreibung verwenden. Der Grund, warum das Dezimal-Suffix M
ist und nicht ein anderer Buchstabe wie D
, liegt darin, dass der doppelte Datentyp bereits den Buchstaben D
angenommen hat.
Beispiel:
using System;
namespace Literal_Example {
class Program {
static void Main(string[] args) {
// Initialize the integer variable a
var decimalValue = 10.0M;
Console.WriteLine("First Variable: " + decimalValue.ToString() +
"\nData Type: " + decimalValue.GetType().Name + "\n");
var floatValue = 10.0F;
Console.WriteLine("Second Variable: " + floatValue.ToString() +
"\nData Type: " + floatValue.GetType().Name + "\n");
var doubleValue = 10.0;
Console.WriteLine("Third Variable: " + doubleValue.ToString() +
"\nData Type: " + doubleValue.GetType().Name + "\n");
Console.ReadLine();
}
}
}
Im obigen Beispiel haben wir mit var
implizit drei verschiedene Variablen deklariert, die aber jeweils ein anderes oder gar kein Suffix hatten. Sie können anhand der auf der Konsole ausgegebenen Ergebnisse beobachten, wie sich dadurch der Datentyp der Variablen ändert.
Ausgabe:
First Variable: 10.0
Data Type: Decimal
Second Variable: 10
Data Type: Single
Third Variable: 10
Data Type: Double