float (C#-Referenz)

Das float-Schlüsselwort kennzeichnet einen einfachen Typ, der 32-Bit-Gleitkommawerte speichert. Die folgende Tabelle zeigt die Genauigkeit und den ungefähren Bereich für den float-Typ an.

Typ Ungefährer Bereich Genauigkeit .NET Framework-Typ
float -3.4 × 1038 bis + 3.4 × 1038 7 Stellen <xref:System.Single?displayProperty=fullName>

Literale

Ein echtes numerisches Literal auf der rechten Seite des Zuweisungsoperators wird standardmäßig als Double-Datentyp behandelt. Verwenden Sie daher zum Initialisieren einer Float-Variablen die Suffixe f oder F, wie im folgenden Beispiel:

float x = 3.5F;  

Wenn Sie das Suffix in der vorherigen Deklaration nicht verwenden, erhalten Sie einen Kompilierungsfehler, da ein double-Wert in einer float-Variablen gespeichert werden soll.

Konvertierungen

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

  • Wenn einer der Gleitkommatypen ein double ist, wertet der Ausdruck in relationalen oder booleschen Ausdrücken nach double oder bool aus.

  • Wenn es im Ausdruck keinen Double-Datentypen gibt, wertet der Ausdruck in relationalen oder booleschen Ausdrücken nach float oder bool aus.

Ein Gleitkomma-Ausdruck kann die folgenden Sätze von Werten enthalten:

  • Positiv und negativ 0 (null)

  • Positiv und negativ unendlich

  • Not-a-Number-Wert (NaN)

  • Die begrenzte Menge von Werten ungleich Null

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

Beispiel

Im folgenden Beispiel werden ein int-, ein short und ein float-Datentyp in einem mathematischen Ausdruck verwendet, der ein float-Ergebnis aufweist. (Beachten Sie, dass float ein Alias für den Typ <xref:System.Single?displayProperty=fullName> ist.) Beachten Sie auch, dass es in diesem Ausdruck keine Double-Datentypen gibt.

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 erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auch

<xref:System.Single>
C#-Referenz
C#-Programmierhandbuch
Umwandlung und Typkonvertierungen
C#-Schlüsselwörter
Tabelle ganzzahliger Typen
Tabelle integrierter Typen
Tabelle für implizite numerische Konvertierungen
Tabelle für explizite numerische Konvertierungen