float (Riferimenti per C#)
Aggiornamento: novembre 2007
La parola chiave float indica un tipo semplice che archivia valori a virgola mobile a 32 bit. Nella tabella riportata di seguito sono indicati l'intervallo approssimativo e il grado di precisione del tipo float.
Tipo |
Intervallo approssimativo |
Precisione |
Tipo .NET Framework |
---|---|---|---|
float |
±1.5 × 10−45 a ±3,4 × 1038 |
7 cifre |
Valori letterali
Per impostazione predefinita, un valore letterale numerico reale a destra dell'operatore di assegnazione viene gestito come tipo double. Per inizializzare una variabile float è quindi necessario utilizzare il suffisso f o F, come illustrato di seguito.
float x = 3.5F;
Se nella precedente dichiarazione non si utilizza il suffisso, verrà generato un errore di compilazione poiché si sta tentando di archiviare un valore double in una variabile float.
Conversioni
È possibile combinare tipi integrali numerici e tipi a virgola mobile in una stessa espressione. In questo caso i tipi integrali vengono convertiti in tipi a virgola mobile. La valutazione dell'espressione viene eseguita in base ai criteri descritti di seguito.
Se uno dei tipi a virgola mobile è double, l'espressione darà come risultato un valore double o bool nel caso di espressioni relazionali o booleane.
Se l'espressione non contiene alcun tipo double, darà come risultato un valore float o bool nel caso di espressioni relazionali o booleane.
Un'espressione a virgola mobile può contenere i seguenti insiemi di valori:
Zero positivo e negativo
Infinito positivo e negativo
Valore NaN (non numerico)
L'insieme finito di valori diversi da zero
Per ulteriori informazioni su questi valori, vedere lo standard IEEE per l'aritmetica a virgola mobile binaria, disponibile sul sito Web IEEE.
Esempio
Nell'esempio riportato di seguito le parole chiave int, short e float sono incluse in un'espressione matematica che dà come risultato un valore float. Ricordare che float è un alias per il tipo System.Single. Si noti che double non è presente nell'istruzione.
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'
*/
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere le sezioni riportate di seguito in Specifiche del linguaggio C#:
4.1.6 Tipi a virgola mobile
6.2.1 Conversioni numeriche esplicite
Vedere anche
Concetti
Riferimenti
Tabella dei tipi integrali (Riferimenti per C#)
Tabella dei tipi incorporati (Riferimenti per C#)
Tabella delle conversioni numeriche implicite (Riferimenti per C#)
Tabella delle conversioni numeriche esplicite (Riferimenti per C#)