Float vs Double vs Decimal in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. Der Float-Datentyp in C#
  2. Der Datentyp Double in C#
  3. Der Dezimaldatentyp in C#
  4. Float vs Double vs Decimal in C#
Float vs Double vs Decimal in C#

In diesem Lernprogramm werden die Ähnlichkeiten und Unterschiede zwischen den Datentypen Float, Double und Decimal in C# erläutert.

Der Float-Datentyp in C#

Der Float-Datentyp speichert Gleitkommawerte in C#. Mit dem Schlüsselwort float wird eine float-Variable deklariert. Wir müssen den Bezeichner f während der Initialisierung verwenden, um dem Compiler mitzuteilen, dass der Wert ein Gleitkommawert ist. Eine Float-Variable hat eine Größe von 32 Bit, was bedeutet, dass sie Werte von -3.402823e38 bis +3.402823e38 speichern kann. Eine Float-Variable hat eine Genauigkeit von 7 in C#. Das folgende Codebeispiel zeigt uns, wie wir eine float-Variable in C# deklarieren können.

using System;

namespace data_types {
  static void Main(string[] args) {
    float fval = 100.0f / 3;
    Console.WriteLine(fval);
  }
}
}

Ausgabe:

33.33333

Wir haben die Float-Variable fval mit dem Schlüsselwort float und dem Bezeichner f in C# initialisiert. Die gedruckte Ausgabe zeigt, dass die Genauigkeit des fval nur 7 Stellen beträgt.

Der Datentyp Double in C#

Der double Datentyp speichert auch Gleitkommawerte in C#. Das Schlüsselwort double wird verwendet, um eine doppelte Variable zu deklarieren. Wir müssen den Bezeichner d während der Initialisierung verwenden, um dem Compiler mitzuteilen, dass der Wert ein doppelter Wert ist. Eine Doppelvariable hat eine Größe von 64 Bit, was bedeutet, dass Werte von -1.79769313486232e308 bis +1.79769313486232e308 gespeichert werden können. Eine Doppelvariable hat eine Genauigkeit von 15 in C#. Das folgende Codebeispiel zeigt uns, wie wir eine Doppelvariable in C# deklarieren können.

using System;

namespace data_types {
  static void Main(string[] args) {
    double dval = 100.0d / 3;
    Console.WriteLine(dval);
  }
}
}

Ausgabe:

33.3333333333333

Wir haben die Double-Variable dval mit dem Schlüsselwort double und dem Bezeichner d in C# initialisiert. Die gedruckte Ausgabe zeigt, dass die Genauigkeit des dval 15 Stellen beträgt.

Der Dezimaldatentyp in C#

Der Dezimaldatentyp speichert auch Gleitkommawerte in C#. Das Schlüsselwort decimal wird verwendet, um eine Dezimalvariable zu deklarieren. Wir müssen den M-Spezifizierer während der Initialisierung verwenden, um dem Compiler mitzuteilen, dass der Wert ein Dezimalwert ist. Eine Dezimalvariable hat eine Größe von 128 Bit, was bedeutet, dass Werte von -79,228,162,514,264,337,593,543,950,335 bis +79,228,162,514,264,337,593,543,950,335 gespeichert werden können. Eine Dezimalvariable hat eine Genauigkeit von 29 in C#. Das folgende Codebeispiel zeigt uns, wie wir eine Dezimalvariable in C# deklarieren können.

using System;

namespace data_types {
  static void Main(string[] args) {
    decimal dval = 100.0M / 3;
    Console.WriteLine(dval);
  }
}
}

Ausgabe:

33.333333333333333333333333333

Wir haben die Dezimalvariable dval mit dem Schlüsselwort decimal und dem Bezeichner M in C# initialisiert. Die gedruckte Ausgabe zeigt, dass die Genauigkeit des dval 29 Stellen beträgt.

Float vs Double vs Decimal in C#

Die Datentypen float und double sind in Genauigkeit und Größe geringer als der Datentyp decimal. Daher wird der Datentyp decimal empfohlen, um vertrauliche Informationen aufzuzeichnen, für die eine große Anzahl wichtiger Zahlen wie Finanztransaktionen erforderlich sind. Der Datentyp dezimal ist jedoch viel langsamer als die Datentypen float und double. Wenn es sich also um wissenschaftliche Werte handelt, die bereits eine Annäherung darstellen und keine sehr hohe Genauigkeit erfordern, können wir je nach Bedarf entweder den Datentyp float oder double verwenden.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Csharp Float

Verwandter Artikel - Csharp Double

Verwandter Artikel - Csharp Decimal