首页 > 编程笔记 > C#笔记 阅读:8

C# Math类的用法(附带实例)

C# 语言的 Math 类属于 System 命名空间,本节将从 3 个方面来介绍数学的相关常数与方法。

C# Math类的数学常数

Math 类的数学常数有下列两个:
【实例】输出 Math.E 和 Math.PI。
Console.WriteLine($"Math.E = {Math.E}");
Console.WriteLine($"Math.PI = {Math.PI}");
执行结果为:

Math.E = 2.718281828459045
Math.PI = 3.141592653589793

C# Math类的三角函数

在三角函数的应用中,所有的参数都是以弧度为单位,C# 语言的 Math 类包含下表各种常见的三角函数。

函数 功能
Math.sin(double x) 正弦函数
Math.cos(double x) 余弦函数
Math.tan(double x) 正切函数
Math.asin(double x) 反正弦函数
Math.acos(double x) 反余弦函数
Math.atan(double x) 反正切函数
Math.sinh(double x) 双曲线正弦函数
Math.cosh(double x) 双曲线余弦函数
Math.tanh(double x) 双曲线正切函数

上述各三角函数中,x 需要声明为双倍精度浮点数 double,其意义是弧度,假设 x 是角度,可以使用下列公式将角度转成弧度,再引入函数中。

弧度 = x * 2 * pi / 360

pi 圆周率,可以使用 Math.PI 代替。

【实例】计算 30° 角的 sin()、cos() 和 tan() 的值。
double x = 30;
double radian = x * 2 * Math.PI / 360;
Console.WriteLine($"sin(x) = {Math.Sin(radian):F2}");
Console.WriteLine($"cos(x) = {Math.Cos(radian):F2}");
Console.WriteLine($"Tan(x) = {Math.Tan(radian):F2}");
执行结果为:

sin(x) = 0.50
cos(x) = 0.87
Tan(x) = 0.58

Math类常用的方法

下列是常见的数学方法:

函数 功能
Math.Abs(x) 计算 x 的绝对值,x 数据类型可以是整数或浮点数,如 Math.Abs(-5)=5。
Math.Ceiling(double x) 回传大于 x 的最小整数,如 Math.Ceiling(3.5)=4。
Math.Floor(double x) 回传小于 x 的最大整数,如 Math.Floor(3.9)=3。
Math.Truncate(double x) 删除小数位数。如 Math.Truncate(3.5)=3。
Math.Sqrt(double x) 开根号,如 Math.Sqrt(4)=2.0。
Math.Max(x1, x2) 回传相同类型数据的较大值,如Math.Max(5, 10)=10。
Math.Min(x1, x2) 回传相同类型数据的较小值,如Math.Min(5, 10)=5。
Math.Pow(double x, double y) 回传 x 的 y 次方,如 Math.Pow(2.0, 3.0)=8.0。
Math.Log(double x) 回传自然对数或底数为 e 的对数,如 Math.Log(Math.E)=1.0。
Math.Log2(double x) 回传底数为 2 的对数,如 Math.Log(8.0)=3.0。
Math.Log10(double x) 回传底数为 10 的对数,如 Math.Log(100.0)=2.0。
Math.Round(double x)

Math.Round(double x, int y)
如果处理位数左边是奇数则四舍五入,如果处理位数左边是偶数则五舍六入,例如 Round(1.5)=2,Round(2.5)=2。

处理小数时,第2个参数代表取到小数第几位,小数字数的下一个小数采用“5”及以下舍去,“5”及以上进制,例如,Round(2.15,1)=2.1,Round(2.25,1)=2.2,Round(2.151,1)=2.2,Round(2.251,1)=2.3。

【实例】基础数学方法实例。
Console.WriteLine($"Math.Abs(-5) = {Math.Abs(-5)}");
Console.WriteLine($"Math.Ceiling(3.5) = {Math.Ceiling(3.5)}");
Console.WriteLine($"Math.Floor(3.9) = {Math.Floor(3.9)}");
Console.WriteLine($"Math.Truncate(3.5) = {Math.Truncate(3.5)}");
Console.WriteLine($"Math.Sqrt(4) = {Math.Sqrt(4)}");
Console.WriteLine($"Math.Max(5, 10) = {Math.Max(5, 10)}");
Console.WriteLine($"Math.Min(5, 10) = {Math.Min(5, 10)}");
Console.WriteLine($"Math.Pow(2.0, 3.0) = {Math.Pow(2.0, 3.0)}");
Console.WriteLine($"Math.Log(Math.E) = {Math.Log(Math.E)}");
Console.WriteLine($"Math.Log2(8.0) = {Math.Log2(8.0)}");
Console.WriteLine($"Math.Log10(100.0) = {Math.Log10(100.0)}");
Console.WriteLine($"Math.Round(47.5) = {Math.Round(47.5)}");
Console.WriteLine($"Math.Round(48.5) = {Math.Round(48.5)}");
Console.WriteLine($"Math.Round(2.15,1) = {Math.Round(2.15,1)}");
Console.WriteLine($"Math.Round(2.25,1) = {Math.Round(2.25,1)}");
Console.WriteLine($"Math.Round(2.151,1) = {Math.Round(2.151,1)}");
Console.WriteLine($"Math.Round(2.251,1) = {Math.Round(2.251,1)}");
执行结果为:

Math.Abs(-5) = 5
Math.Ceiling(3.5) = 4
Math.Floor(3.9) = 3
Math.Truncate(3.5) = 3
Math.Sqrt(4) = 2
Math.Max(5, 10) = 10
Math.Min(5, 10) = 5
Math.Pow(2.0, 3.0) = 8
Math.Log(Math.E) = 1
Math.Log2(8.0) = 3
Math.Log10(100.0) = 2
Math.Round(47.5) = 48
Math.Round(48.5) = 48
Math.Round(2.15,1) = 2.2
Math.Round(2.25,1) = 2.2
Math.Round(2.151,1) = 2.2
Math.Round(2.251,1) = 2.3

相关文章