float (Referencia de C#)
Actualización: noviembre 2007
La palabra clave float denota un tipo simple que almacena valores de punto flotante de 32 bits. La siguiente tabla muestra la precisión y el intervalo de valores aproximado para el tipo float.
Tipo |
Intervalo aproximado |
Precisión |
Tipo de .NET Framework |
---|---|---|---|
float |
±1.5 × 10−45 a ±3,4 × 1038 |
7 dígitos |
Literales
De forma predeterminada, un literal numérico real en el lado derecho del operador de asignación se trata como double. Por consiguiente, para inicializar una variable de tipo float, utilice el sufijo f o F, como en el ejemplo siguiente:
float x = 3.5F;
Si no utiliza este sufijo en la declaración anterior, obtendrá un error de compilación, ya que está intentando almacenar un valor de tipo double en una variable de tipo float.
Conversiones
Es posible combinar tipos numéricos integral y tipos de punto flotante en una expresión. En este caso, los tipos integrales se convierten en tipos de punto flotante. La evaluación de la expresión se realiza según las siguientes reglas:
Si uno de los tipos de punto flotante es double, la expresión se evalúa como double o bool en el caso de expresiones relacionales o booleanas.
Si no existe ningún tipo double en la expresión, ésta se evalúa como float o bool en el caso de expresiones relacionales o booleanas.
Una expresión de punto flotante puede contener los siguientes conjuntos de valores:
Cero negativo y positivo
Infinito positivo y negativo
Valor NaN (no es un número)
El conjunto finito de valores distintos de cero
Para obtener más información acerca de estos valores, consulte "IEEE Standard for Binary Floating-Point Arithmetic" (estándar IEEE para aritmética binaria de punto flotante), que se encuentra disponible en el sitio web de IEEE.
Ejemplo
En el siguiente ejemplo, una expresión matemática incluye valores de tipo int, short y float, y proporciona un resultado de tipo float. (Recuerde que float es un alias para el tipo System.Single.) Observe que la expresión no incluye ningún valor de tipo double.
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'
*/
Especificación del lenguaje C#
Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.
4.1.6 Tipos de punto flotante
6.2.1 Conversiones explícitas numéricas
Vea también
Conceptos
Referencia
Tabla de tipos integrales (Guía de programación de C#)
Tabla de tipos integrados (Referencia de C#)
Tabla de conversiones numéricas implícitas (Referencia de C#)
Tabla de conversiones numéricas explícitas (Referencia de C#)