更新:2007 年 11 月

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

类型

大致范围

精度

.NET Framework 类型

double

±5.0 × 10-324 到 ±1.7 × 10308

15 到 16 位

System..::.Double

标识符

默认情况下,赋值运算符右侧的实数被视为 double。但是,如果希望整数被视为 double,请使用后缀 d 或 D,例如:

 复制代码
double x = 3D;

转换

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

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

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

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

  • 正零和负零。

  • 正无穷和负无穷。

  • 非数字值 (NaN)。

  • 有限的非零值集。

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

示例

在下面的示例中,一个 int、一个 short、一个 float 和一个 double 相加,计算结果为 double 类型。

C# 复制代码
// Mixing types in expressions
class MixedTypes
{
    static void Main()
    {
        int x = 3;
        float y = 4.5f;
        short z = 5;
        double w = 1.7E+3;
        // Result of the 2nd argument is a double:
        Console.WriteLine("The sum is {0}", x + y + z + w);
    }
}
// Output: The sum is 1712.5

C# 语言规范

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

  • 1.3 类型和变量

  • 4.1.5 整型

请参见