一、Math类核心说明Math类是C#中用于提供数学相关操作的静态类其内部所有函数均为static静态函数。使用规则静态函数无需实例化对象直接通过Math.函数名(参数)的方式调用。二、Math类常用函数详解按功能分类1. 绝对值函数Math.Abs()功能求一个数的绝对值正数、0的绝对值是自身负数的绝对值是其相反数。// 语法Math.Abs(数值) Console.WriteLine(Math.Abs(-10)); // 输出10负数的绝对值 Console.WriteLine(Math.Abs(5)); // 输出5正数的绝对值 Console.WriteLine(Math.Abs(0)); // 输出00的绝对值2. 取整函数向下/向上1向下取整Math.Floor()功能将小数向下取整无论小数部分多大都舍去取比它小的最大整数。// 语法Math.Floor(小数) Console.WriteLine(Math.Floor(2.3)); // 输出2舍去小数部分取2 Console.WriteLine(Math.Floor(2.7)); // 输出2即使小数部分是0.7仍向下取2 Console.WriteLine(Math.Floor(-2.3));// 输出-3向下取整比-2.3小的最大整数是-32向上取整Math.Ceiling()功能将小数向上取整无论小数部分多小都进1取比它大的最小整数。// 语法Math.Ceiling(小数) Console.WriteLine(Math.Ceiling(2.3));// 输出3小数部分0.3向上进1为3 Console.WriteLine(Math.Ceiling(2.9));// 输出3小数部分0.9向上进1为3 Console.WriteLine(Math.Ceiling(-2.3));// 输出-2向上取整比-2.3大的最小整数是-23. 四舍五入函数Math.Round()功能对数值进行舍入操作默认规则是四舍六入五取偶数非我们日常的“四舍五入”可通过参数修改舍入规则。1默认规则四舍六入五取偶数核心当小数部分为0.5中间值时舍入到最近的偶数其他情况按“四舍六入”处理。// 语法1Math.Round(数值)默认保留整数 Console.WriteLine(Math.Round(3.5)); // 输出43.5的中间值最近偶数是4 Console.WriteLine(Math.Round(2.5)); // 输出22.5的中间值最近偶数是2 // 语法2Math.Round(数值, 保留小数位数) Console.WriteLine(Math.Round(1.235, 2));// 输出1.24非中间值四舍六入 // 注意1.225精度问题默认double类型精度不足导致舍入异常 Console.WriteLine(Math.Round(1.225m, 2));// 输出1.22改为decimal类型1.225m遵循五取偶数2修改规则正常四舍五入通过添加第三个参数MidpointRounding.AwayFromZero实现日常的“四舍五入”中间值0.5时向远离0的方向舍入。// 语法Math.Round(数值, 保留小数位数, 舍入规则) // 规则说明MidpointRounding.AwayFromZero 正常四舍五入MidpointRounding.ToEven 默认五取偶数 Console.WriteLine(Math.Round(2.5, MidpointRounding.AwayFromZero));// 输出3正常四舍五入 Console.WriteLine(Math.Round(1.225, 2, MidpointRounding.AwayFromZero));// 输出1.23正常四舍五入4. 圆周率属性Math.PI功能Math类的静态属性返回圆周率π的近似值约3.141592653589793。// 语法Math.PI无参数直接调用属性 Console.WriteLine(Math.PI); // 输出3.1415926535897935. 幂运算函数Math.Pow()功能计算第一个参数的第二个参数次幂即“底数^指数”。// 语法Math.Pow(底数, 指数) Console.WriteLine(Math.Pow(2, 3)); // 输出82的3次方2×2×2 Console.WriteLine(Math.Pow(3, 2)); // 输出93的2次方3×3 Console.WriteLine(Math.Pow(10, 0)); // 输出1任何数的0次方都是16. 开方函数Math.Sqrt()功能计算一个非负数的平方根仅支持非负数负数会返回NaN。// 语法Math.Sqrt(非负数) Console.WriteLine(Math.Sqrt(9)); // 输出33的平方是9 Console.WriteLine(Math.Sqrt(16)); // 输出44的平方是16 Console.WriteLine(Math.Sqrt(0)); // 输出00的平方根是0 // Console.WriteLine(Math.Sqrt(-4)); // 输出NaN负数无实数平方根7. 最值函数最大值/最小值1求最大值Math.Max()功能返回两个参数中的较大值。// 语法Math.Max(参数1, 参数2) Console.WriteLine(Math.Max(3, 2)); // 输出3 Console.WriteLine(Math.Max(-5, 0)); // 输出02求最小值Math.Min()功能返回两个参数中的较小值。// 语法Math.Min(参数1, 参数2) Console.WriteLine(Math.Min(3, 2)); // 输出2 Console.WriteLine(Math.Min(-5, 0)); // 输出-58. 三角函数正弦/余弦注意Math类的三角函数参数是弧度而非角度需先将角度转换为弧度弧度 角度 × π / 180。1正弦函数Math.Sin()功能计算指定弧度的正弦值。// 示例计算30度的正弦值30度 Math.PI / 6 弧度 // 30度的正弦值为0.5 Console.WriteLine(Math.Sin(Math.PI / 6)); // 输出0.5功能计算指定弧度的余弦值。// 示例计算60度的余弦值60度 Math.PI / 3 弧度 // 60度的余弦值为0.5 Console.WriteLine(Math.Cos(Math.PI / 3)); // 输出0.5三、易错点提醒高频踩坑忘记Math类函数是静态函数误尝试实例化Math对象后调用函数错误new Math().Abs(-10)正确Math.Abs(-10)Math.Round()默认是“四舍六入五取偶数”而非日常四舍五入需修改舍入规则时必须添加第三个参数使用Math.Round()保留小数时double类型精度不足如1.225导致舍入异常需改为decimal类型加m后缀如1.225mMath.Sqrt()传入负数会返回NaN非数字需确保参数为非负数三角函数Sin/Cos的参数是弧度而非角度直接传入角度会导致计算结果错误需先转换为弧度。四、核心总结Math类是静态类所有函数需通过Math.函数名()调用无需实例化常用函数按功能分类绝对值、取整、四舍五入、幂运算、开方、最值、三角函数、圆周率重点注意Math.Round()的默认舍入规则、三角函数的参数是弧度、开方函数的参数非负精度问题涉及小数舍入时可使用decimal类型加m后缀提升精度避免异常。