跳到主要内容

任务一 Math类

知识点​

Math类为三角函数、对数函数和其他通用数学函数提供常数和静态方法。该类属于System命名空间,是一个密封类,有两个公共字段和若干静态方法。

1. Math类的两个公共字段(表9-1)​

名称功能说明实例结果
E自然对数的底,即数学常数eMath.E2.71828182845905
PI圆周率,即圆的周长与其直径的比值Math.PI3.1415926

2. Math类常见方法(表9-2)​

方法说明
Abs(number)返回参数的绝对值
Pow(number1, number2)返回指定数字的指定次幂
Sqrt(number)返回指定参数的算术平方根
Ceiling(number)返回大于或等于该数的最小整数
Floor(number)返回小于或等于该数的最大整数
Exp(number)返回e的指定次幂
Log(number1, number2)返回指定数字在使用指定底时的对数
Log(number)返回指定数字的自然对数(底为e)
Log10(number)返回指定数字以10为底的对数
Max(number1, number2)返回两个数中较大的一个
Min(number1, number2)返回两个数中较小的一个
Sign(number)返回指定数值的符号:数值>0返回1;数值=0返回0;数值<0返回-1
Sin(number)返回指定角度的正弦值
Cos(number)返回指定角度的余弦值
Tan(number)返回指定角度的正切值
Round(number) 或 Round(number1, number2)将小数或双精度浮点数舍入到最接近的整数或者指定精度

3. Math公共字段示例​

创建控制台应用程序,显示Math类的两个常数:

static void Main(string[] args)
{
Console.WriteLine(Math.PI);
Console.WriteLine(Math.E);
Console.ReadLine();
}

运行结果(图9-1):

3.14159265358979
2.71828182845905

4. Abs方法(绝对值)​

功能:返回参数的绝对值。

语法:Math.Abs(number)

示例:

Console.WriteLine(Math.Abs(-3));
Console.WriteLine(Math.Abs(0));
Console.WriteLine(Math.Abs(3));

显示结果:3、0、3

5. Pow方法(幂运算)​

功能:返回指定数字的指定次幂。

语法:Pow(number1, number2)

  • number1:要乘幂的双精度浮点数
  • number2:指定幂的双精度浮点数

示例:

Console.WriteLine(Math.Pow(2, 2));
Console.WriteLine(Math.Pow(2, -2));

显示结果:4、0.25

6. Sqrt方法(开平方)​

功能:返回指定参数的算术平方根。

语法:Math.Sqrt(number)

  • number:任何有效的大于或等于0的数值表达式

示例:

Console.WriteLine(Math.Sqrt(9));
Console.WriteLine(Math.Sqrt(0));

显示结果:3、0

7. Ceiling方法(取最大整数)​

功能:返回大于或等于该指定小数的最小整数。

语法:Math.Ceiling(number)

示例:

Console.WriteLine(Math.Ceiling(-5.5));
Console.WriteLine(Math.Ceiling(0.6));
Console.WriteLine(Math.Ceiling(5.5));

显示结果:-5、1、6

8. Floor方法(取最小整数)​

功能:返回小于或等于该指定小数的最大整数。

语法:Math.Floor(number)

示例:

Console.WriteLine(Math.Floor(-5.5));
Console.WriteLine(Math.Floor(0.6));
Console.WriteLine(Math.Floor(5.5));

显示结果:-6、0、5

9. Exp方法(e的次方)​

功能:返回e的指定次幂。

语法:Math.Exp(number)

示例:

Console.WriteLine(Math.Exp(-1));
Console.WriteLine(Math.Exp(0));
Console.WriteLine(Math.Exp(1));

显示结果:0.367879441171442、1、2.71828182845905

10. Log(number1, number2)方法(指定底对数)​

功能:返回指定数字在使用指定底时的对数。

语法:Math.Log(number1, number2)

  • number1:要查找其对数的数
  • number2:对数的底

示例:

Console.WriteLine(Math.Log(8, 2));
Console.WriteLine(Math.Log(8, 8));
Console.WriteLine(Math.Log(1, 8));

显示结果:3、1、0

11. Log(number)方法(自然对数)​

功能:返回指定数字的自然对数(底为e)。

语法:Math.Log(number)

示例:

Console.WriteLine(Math.Log(Math.E));
Console.WriteLine(Math.Log(1));

显示结果:1、0

12. Log10方法(常用对数)​

功能:返回指定数字以10为底的对数。

语法:Math.Log10(number)

示例:

Console.WriteLine(Math.Log10(10));
Console.WriteLine(Math.Log10(1));
Console.WriteLine(Math.Log10(0.1));

显示结果:1、0、-1

13. Max方法(取大)​

功能:返回两个数中较大的一个。

语法:Math.Max(number1, number2)

示例:

Console.WriteLine(Math.Max(10, 100));
Console.WriteLine(Math.Max(10, 10));
Console.WriteLine(Math.Max(10, -10));

显示结果:100、10、10

14. Min方法(取小)​

功能:返回两个数中较小的一个。

语法:Math.Min(number1, number2)

示例:

Console.WriteLine(Math.Min(10, 100));
Console.WriteLine(Math.Min(10, 10));
Console.WriteLine(Math.Min(10, -10));

显示结果:10、10、-10

15. Sign方法(数值符号)​

功能:返回指定数值的符号。数值>0返回1;数值=0返回0;数值<0返回-1。

语法:Math.Sign(number)

示例:

Console.WriteLine(Math.Sign(10.5));
Console.WriteLine(Math.Sign(0));
Console.WriteLine(Math.Sign(-10.5));

显示结果:1、0、-1

16. Sin方法(正弦函数)​

功能:返回指定角度的正弦值。

语法:Math.Sin(number)

  • number:以弧度计量的角度

示例:

Console.WriteLine(Math.Sin(Math.PI / 6));
Console.WriteLine(Math.Sin(0));
Console.WriteLine(Math.Sin(90 * Math.PI / 180));

显示结果:0.5、0、1

注意:角度需转换为弧度,公式为:弧度 = 角度 × Math.PI / 180

17. Cos方法(余弦函数)​

功能:返回指定角度的余弦值。

语法:Math.Cos(number)

  • number:以弧度计量的角度

示例:

Console.WriteLine(Math.Cos(Math.PI / 3));
Console.WriteLine(Math.Cos(0));
Console.WriteLine(Math.Cos(90 * Math.PI / 180));

显示结果:0.5、1、6.123031769E-17(极接近0的浮点误差)

18. Tan方法(正切函数)​

功能:返回指定角度的正切值。

语法:Math.Tan(number)

  • number:以弧度计量的角度

示例:

Console.WriteLine(Math.Tan(Math.PI / 4));
Console.WriteLine(Math.Tan(0));
Console.WriteLine(Math.Tan(45 * Math.PI / 180));

显示结果:1、0、1

19. Round方法(四舍五入)​

功能:将小数舍入到最接近的整数或者指定精度。

语法:

Round(number)
Round(number1, number2)
  • number1:要舍入的数
  • number2:要保留的小数位数
  • Round采用"就近舍入"("四舍六入五成双")的舍入方法

示例1:

Console.WriteLine(Math.Round(5.5));
Console.WriteLine(Math.Round(4.5));
Console.WriteLine(Math.Round(5.501));
Console.WriteLine(Math.Round(4.501));

显示结果:6、4、6、5

说明:5.5舍入为6(五成双,6是偶数);4.5舍入为4(五成双,4是偶数)

示例2:

Console.WriteLine(Math.Round(5.55, 1));
Console.WriteLine(Math.Round(5.54, 1));
Console.WriteLine(Math.Round(5.56, 1));

显示结果:5.6、5.5、5.6