float (C#-Referenz)
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 |
-3.4 × 1038bis +3.4 × 1038 |
7 Stellen |
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 0 (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 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 erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.
Siehe auch
Referenz
Umwandlung und Typkonvertierungen (C#-Programmierhandbuch)
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)