float (referência de C#)
O float palavra-chave significa um tipo simples que armazena valores de ponto flutuante 32 bits. A tabela a seguir mostra a precisão e o intervalo aproximado para o float tipo.
Tipo |
Intervalo aproximado |
Precisão |
Tipo .NET Framework |
---|---|---|---|
float |
-3.4 × 1038to +3.4 × 1038 |
7 dígitos |
Literais
Por padrão, um literal numérico real no lado direito do operador de atribuição é tratado como double. Portanto, para inicializar uma variável float, use o sufixo f ou F, como no exemplo a seguir:
float x = 3.5F;
Se você não usar o sufixo na declaração anterior, você obterá um erro de compilação porque você está tentando armazenar um double valor em um float variável.
Conversões
Você pode misturar tipos numéricos de integrais e tipos de ponto flutuante em uma expressão. Nesse caso, os tipos integrais são convertidos para tipos de ponto flutuante. A avaliação da expressão é feita de acordo com as seguintes regras:
Se um dos tipos de ponto flutuante for double, a expressão for avaliada como double ou bool em expressões booleanas ou relacionais.
Se não houver nenhum double tipo de expressão, a expressão é avaliada como float ou bool em expressões booleanas ou relacionais.
Uma expressão de ponto flutuante pode conter os seguintes conjuntos de valores:
Zero positivo e negativo
Infinito positivo e negativo
Valor de não-numéricos (NaN)
O conjunto finito de valores diferentes de zero
Para obter mais informações sobre esses valores, consulte o padrão IEEE para aritmética de ponto flutuante binário, disponível no IEEE site da Web.
Exemplo
No exemplo a seguir, um int, um curtoe um float incluídos em uma expressão matemática dando uma float resultado. (Lembre-se de que float é um alias para o System.Single tipo.) Observe que não há nenhum double na expressão.
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'
*/
Especificação da linguagem C#
Para obter mais informações, consulte C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
Elenco e conversões de Tipo (guia de programação de C#)
Integral Types Table (C# Reference)
Built-In Types Table (C# Reference)
Implicit Numeric Conversions Table (C# Reference)
Explicit Numeric Conversions Table (C# Reference)