更新:2007 年 11 月

float 关键字表示存储 32 位浮点值的简单类型。下表显示了 float 类型的精度和大致范围。

类型

大致范围

精度

.NET Framework 类型

float

±1.5 × 10-45 到 ±3.4 × 1038

7 位

System..::.Single

文本

默认情况下,赋值运算符右侧的实数被视为 double。因此,应使用后缀 fF 初始化浮点型变量,如以下示例中所示:

 复制代码
float x = 3.5F;

如果在以上声明中不使用后缀,则会因为您试图将一个 double 值存储到 float 变量中而发生编译错误。

转换

可在一个表达式中兼用数值整型和浮点型。在此情况下,整型将转换为浮点型。根据以下规则计算表达式:

  • 如果其中一个浮点型为 double,则表达式的计算结果为 doublebool(在关系表达式或布尔表达式中)。

  • 如果表达式中不存在 double 类型,则表达式的计算结果为 floatbool(在关系表达式或布尔表达式中)。

浮点表达式可以包含下列值集:

  • 正零和负零

  • 正无穷和负无穷

  • 非数字值 (NaN)

  • 有限的非零值集

有关这些值的更多信息,请参见 IEEE 网站上的“IEEE Standard for Binary Floating-Point Arithmetic”(二进制浮点算法的 IEEE 标准)。

示例

在下面的示例中,包含 intshortfloat 类型的数学表达式得到一个 float 结果。(请记住 floatSystem..::.Single 类型的别名。)请注意,表达式中没有 double

C# 复制代码
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# 语言规范

有关更多信息,请参见 C# 语言规范中的以下各章节:

  • 4.1.6 浮点型

  • 6.2.1 显式数值转换

请参见