double(C# 参考)

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

Type

大致范围

精度

.NET Framework 类型

double

±5.0 × 10−324 到 ±1.7 × 10308

15 到 16 位

System.Double

文本

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

double x = 3D;

转换

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

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

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

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

  • 正零和负零。

  • 正无穷和负无穷。

  • 非数字值 (NaN)。

  • 有限的非零值集。

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

示例

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

// 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# 语言规范。C# 语言规范是 C# 语法和用法的权威资料。

请参见

参考

C# 关键字

内置类型表(C# 参考)

隐式数值转换表(C# 参考)

显式数值转换表(C# 参考)

概念

C# 编程指南

其他资源

C# 参考

默认值表(C# 参考)

浮点型表(C# 参考)