float 关键字表示存储 32 位浮点值的简单类型。下表显示了 float 类型的精度和大致范围。
float
±1.5 × 10-45 到 ±3.4 × 1038
7 位
System.Single
默认情况下,赋值运算符右侧的实数被视为 double。因此,应使用后缀 f 或 F 初始化浮点型变量,如下所示:
float x = 3.5F;
如果在以上声明中不使用后缀,则会因为您试图将一个 double 值存储到 float 变量中而发生编译错误。
可在一个表达式中兼用数值整型和浮点型。在此情况下,整型将转换为浮点型。根据以下规则计算表达式:
如果其中一个浮点型为 double,则表达式的计算结果为 double 类型,在关系表达式或布尔表达式中为 bool 类型。
如果表达式中不存在 double 类型,则表达式的计算结果为 float 类型,在关系表达式或布尔表达式中为 bool 类型。
浮点表达式可以包含下列值集:
正零和负零
正无穷和负无穷
非数字值 (NaN)
有限的非零值集
有关这些值的更多信息,请参考“二进制浮点算法的 IEEE 标准”,该标准可在网站 http://www.ieee.org/ 上获得。
在下面的示例中,包含 int、short 和 float 类型的数学表达式得到一个 float 结果。请注意,表达式中没有 double。
// keyword_float.cs // Mixing types in expressions using System; class MixedTypes { static void Main() { int x = 3; float y = 4.5f; short z = 5; Console.WriteLine("The result is {0}", x * y / z); } }
The result is 2.7
有关更多信息,请参见 C# 语言规范中的以下各章节:
4.1.6 浮点型
6.2.1 显式数值转换