处理 C# 中的整数和浮点数

使用双精度类型

double 数字类型表示双精度浮点数。 这些词可能是第一次听说。 浮点数可用于表示数量级可能非常大或非常小的非整数。 双精度是一个相对术语,描述用于存储值的二进制数位数。 双精度 数字的二进制数位数是单精度 的两倍。 在新式计算机上,使用双精度数字比使用单精度数字更为常见。 单精度数字是使用 float 关键字声明的。 接下来,将探索双精度类型。 在交互式窗口中,试运行以下代码,看看结果如何:

double a = 5;
double b = 4;
double c = 2;
double d = (a + b) / c;
Console.WriteLine(d);

可以看到,答案商包含小数部分。 试试对双精度类型使用更复杂一点的表达式:

double a = 19;
double b = 23;
double c = 8;
double d = (a + b) / c;
Console.WriteLine(d);

双精度值的范围远大于整数值。 在交互式窗口中,试运行以下代码:

double max = double.MaxValue;
double min = double.MinValue;
Console.WriteLine($"The range of double is {min} to {max}");

打印出来的这些值用科学记数法表示。 E 左侧为有效数字。 右侧为是 10 的 n 次幂。

与数学上的十进制数字一样,C# 中的双精度值可能会有四舍五入误差。 试运行以下代码:

double third = 1.0 / 3.0;
Console.WriteLine(third);

众所周知,0.3 等于 3/10,且与 1/3 并不完全相等。 同样,0.33 等于 33/100。 虽然更接近 1/3,但仍不完全相等。

挑战

尝试使用 double 类型执行其他的大小数、乘法和除法运算。 尝试执行更复杂的运算。

在浏览器中尝试运行代码