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

使用十进制类型

大家已学习了 C# 中的基本数字类型,即整数和双精度。 还需要学习另一种类型,即 decimal 类型。 decimal 类型的范围较小,但精度高于 double。 让我们来实际操作一下:

C#
decimal min = decimal.MinValue;
decimal max = decimal.MaxValue;
Console.WriteLine($"The range of the decimal type is {min} to {max}");

可以看到,范围小于 double 类型。 通过试运行以下代码,可以看到十进制类型的精度更高:

C#
double a = 1.0;
double b = 3.0;
Console.WriteLine(a / b);

decimal c = 1.0M;
decimal d = 3.0M;
Console.WriteLine(c / d);

可以看到,使用十进制类型执行数学运算时,十进制小数点右侧的数字更多。

数字中的 M 后缀指明了常数应如何使用 decimal 类型。 否则,编译器假定为 double 类型。

备注

字母 M 被选为 doubledecimal 关键字之间最明显不同的字母。

挑战

至此,大家已了解不同的数字类型。请编写代码来计算圆面积(其中,半径为 2.50 厘米)。 请注意,圆面积是用半径的平方乘以 PI 进行计算。 小提示:.NET 包含 PI 常数 Math.PI,可用于相应的值计算。 与 System.Math 命名空间中声明的所有常量一样,Math.PI 也是 double 值。 因此,应使用 double(而不是 decimal)值来完成这项挑战。

你应获得 19 和 20 之间的答案。

在浏览器中尝试运行代码