float (C#-Referenz)

Aktualisiert: November 2007

Das Schlüsselwort float kennzeichnet einen einfachen Typ, in dem 32-Bit-Gleitkommawerte gespeichert werden. Der folgenden Tabelle können Sie die Genauigkeit und den ungefähren Bereich des float-Typs entnehmen.

Typ

Ungefährer Bereich

Genauigkeit

.NET Framework-Typ

float

±1.5 × 10-45 bis ±3,4 × 1038

7 Stellen

System.Single

Literale

Ein echtes numerisches Literal auf der rechten Seite des Zuweisungsoperators wird als double-Typ behandelt. Verwenden Sie daher zum Initialisieren einer float-Variablen das Suffix f oder F, wie im folgenden Beispiel gezeigt:

float x = 3.5F;

Wenn Sie in der vorherigen Deklaration das Suffix nicht verwenden, tritt ein Kompilierungsfehler auf, da Sie versuchen, einen double-Wert in einer float-Variablen zu speichern.

Konvertierungen

Numerische ganzzahlige Typen und Gleitkommatypen können zusammen in einem Ausdruck verwendet werden. In diesem Fall werden die ganzzahligen Typen in Gleitkommatypen konvertiert. Die Auswertung des Ausdrucks erfolgt gemäß den folgenden Regeln:

  • Wenn einer der Gleitkommatypen double lautet, wird der Ausdruck als double bzw. bei relationalen oder booleschen Ausdrücken als bool ausgewertet.

  • Wenn der Ausdruck keinen double-Typ enthält, wird er als float bzw. bei relationalen oder booleschen Ausdrücken als bool ausgewertet.

Ein Gleitkommaausdruck kann die folgenden Wertgruppen enthalten:

  • Positive und negative Null

  • Positive und negative Unendlichkeit

  • NaN (Not a Number)-Wert

  • Endliche Gruppe von Werten ungleich null

Weitere Informationen zu diesen Werten finden Sie im IEEE-Standard für binäre Gleitkommaarithmetik auf der Website .

Beispiel

Im folgenden Beispiel enthält der mathematische Ausdruck, der ein float-Ergebnis liefert, einen int-Wert, einen short-Wert und einen float-Wert. (Beachten Sie, dass float ein Alias für den System.Single-Typ ist.) Beachten Sie, dass kein double-Wert im Ausdruck enthalten ist.

class FloatTest 
{
    static void Main() 
    {
        int x = 3;
        float y = 4.5f;
        short z = 5;
        var result = x * y / z;
        Console.WriteLine("The result is {0}", result);
        Type type = result.GetType();
        Console.WriteLine("result is of type {0}", type.ToString());
    }
}
/* Output: 
  The result is 2.7
  result is of type System.Single //'float' is alias for 'Single'
 */

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 4.1.6 Gleitkommatypen

  • 6.2.1 Explizite numerische Konvertierungen

Siehe auch

Konzepte

C#-Programmierhandbuch

Referenz

C#-Schlüsselwörter

Tabelle ganzzahliger Typen (C#-Referenz)

Tabelle integrierter Typen (C#-Referenz)

Tabelle für implizite numerische Konvertierungen (C#-Referenz)

Tabelle für explizite numerische Konvertierungen (C#-Referenz)

Single

Weitere Ressourcen

C#-Referenz