一、Math 类基础介绍

1.是什么

Math 是 C# 系统自带的静态数学工具类,在 System 命名空间下,专门封装数学计算方法,直接调用即可,不用自己写公式。

2.使用格式

Math.方法名(参数);

3.特点

  • 全部为静态方法,不需要 new 实例;
  • 支持整数、小数、负数运算;
  • 部分方法返回值为 double 类型,需要强制转换为 int。

二、常用方法(逐条详解 + 代码 + 运行结果 + 易错点)


1. 绝对值 —— Math.Abs (数值)
  • 作用:求一个数的绝对值,负数变正数,正数和 0 不变
  • 语法:Math.Abs(数值)
  • 代码示例
  • 易错点:只能传单个数值,不能传多个
Console.WriteLine(Math.Abs(-8));    // 8
Console.WriteLine(Math.Abs(8));     // 8
Console.WriteLine(Math.Abs(0));     // 0
Console.WriteLine(Math.Abs(-3.14)); // 3.14
2. 最大值 —— Math.Max (值 1, 值 2)
  • 作用:返回两个数中较大的那个
  • 语法:Math.Max(a,b)
  • 代码示例
  • 易错点:只能比较 2 个值,多个值需要嵌套使用 Math.Max(Math.Max(a,b),c)
Console.WriteLine(Math.Max(5,9));     // 9
Console.WriteLine(Math.Max(-2,0));    // 0
Console.WriteLine(Math.Max(3.5,2.9));// 3.5
3. 最小值 —— Math.Min (值 1, 值 2)
  • 作用:返回两个数中较小的那个
  • 语法:Math.Min(a,b)
  • 代码示例
Console.WriteLine(Math.Min(5,9));     // 5
Console.WriteLine(Math.Min(-2,0));    // -2
Console.WriteLine(Math.Min(3.5,2.9));// 2.9
4. 幂运算(次方)—— Math.Pow (底数,指数)
  • 作用:计算 底数的指数次方,对应数学:
  • 语法:Math.Pow(double 底数, double 指数)
  • 代码示例
  • 重点(对应第 8 题作业)
  • 易错点:
    ① 返回值默认是 double,必须强制转 int:(int)Math.Pow(10,5)
    ② 指数可以是小数,用于开方运算
// 计算22222:基数2,次数5
int jishu = 2;
int cishu = 5;
int result = jishu * ((int)Math.Pow(10, cishu) - 1) / 9;
// 2*(100000-1)/9 = 22222
5. 开平方 —— Math.Sqrt (数值)
  • 作用:求一个非负数的算术平方根
  • 语法:Math.Sqrt(非负数)
  • 代码示例
  • 易错点:不能传负数,会报错
6. 四舍五入 —— Math.Round (数值)
核心规则(必背!C# 默认不是传统四舍五入)
四舍六入五取偶数(银行家舍入法)

语法:

  1. Math.Round(小数):整数位取整
  2. Math.Round(小数, 保留位数):保留指定位小数

代码示例(你的代码 + 解析)

Console.WriteLine(Math.Round(3.5));//4   前一位3是奇数,进1
Console.WriteLine(Math.Round(2.5));//2   前一位2是偶数,舍去

Console.WriteLine(Math.Round(1.235,2));//1.24 保留2位小数,第3位5,前一位3奇数进1
Console.WriteLine(Math.Round(1.225m, 2));//1.22 m代表decimal高精度类型,前一位2偶数舍去

易错点:

  1. double 精度低,1.225 实际存储近似 1.224999,会出现异常
  2. 高精度金钱计算,必须用 decimal 类型(数字后加 m)
7. 向上取整 —— Math.Ceiling (小数)
  • 作用:向数值大的方向取整,只要有小数就进 1
  • 语法:Math.Ceiling(小数)
  • 代码示例
Console.WriteLine(Math.Ceiling(3.1)); // 4
Console.WriteLine(Math.Ceiling(3.9)); // 4
Console.WriteLine(Math.Ceiling(-2.1));// -2
8. 向下取整 —— Math.Floor (小数)
  • 作用:向数值小的方向取整,直接舍弃小数部分
  • 语法:Math.Floor(小数)
  • 代码示例
Console.WriteLine(Math.Floor(3.1)); // 3
Console.WriteLine(Math.Floor(3.9)); // 3
Console.WriteLine(Math.Floor(-2.1));// -3
9. 圆周率常量 —— Math.PI
  • 作用:直接获取圆周率 π 的近似值 3.1415926535...
  • 语法:Math.PI(无括号,是常量不是方法)
  • 代码示例
Console.WriteLine(Math.PI); // 输出3.141592653589793
// 计算圆面积
double r = 5;
double area = Math.PI * r * r;
10要想使用正常四舍五入
  • 参数1 :2.5 指定舍入的数据
  • 参数2 舍入的规则,如果MidpointRounding.AwayFromZero 正常的四舍五入
  • 如果MidpointRounding.ToEven 取最近的偶数
Console.WriteLine(Math.Round(2.5,MidpointRounding.AwayFromZero));//3
Console.WriteLine(Math.Round(1.225,2,MidpointRounding.AwayFromZero));//1.23
11 Math.Cos()求余弦
Console.WriteLine(Math.Cos(Math.PI/3));
12.取余数(取模)—— Math.IEEERemainder (被除数,除数)
  • 作用:计算两个数的余数
  • 简单取模直接用 %,复杂小数取模用此方法
Console.WriteLine(Math.IEEERemainder(7,3)); // 1

Math.Round 简要解析(修正 + 精简)

  1. 作用:对小数进行舍入,不是普通四舍五入,C# 默认是四舍六入五取偶(银行家舍入)
    • 小数<0.5:舍去
    • 小数>0.5:进 1
    • 小数 = 0.5:取最接近的偶数
  2. 基础语法
    • Math.Round(数值):默认四舍六入五取偶取整
    • Math.Round(数值, 保留位数):保留指定位小数
  3. 示例
    • Math.Round(3.4) → 3
    • Math.Round(3.5) → 4
    • Math.Round(2.5) → 2(5 取偶)
    • Math.Round(1.235,2) → 1.24

Math.Round 简要解析(修正关键细节)

  1. 基础作用:对小数进行舍入,日常理解为四舍五入,但 C# 实际是四舍六入五取偶(银行家舍入)。
  2. 基础语法Math.Round(小数),默认取整数,看小数点后第一位。
  3. 特殊规则(重点)
    • 小数<0.5:舍去,如Math.Round(3.4)=3
    • 小数>0.5:进 1,如Math.Round(3.6)=4
    • 小数 = 0.5:取偶数
      • Math.Round(2.5)=2Math.Round(3.5)=4
  4. 扩展用法Math.Round(数值, 保留位数),可指定保留几位小数,如Math.Round(1.235,2)=1.24

简单记:日常近似四舍五入,遇到.5 优先凑偶数

三、取整三大方法对比(必背)

方法 作用 3.1 3.9 -2.1
Math.Round() 四舍五入 3 4 -2
Math.Ceiling() 向上取整 4 4 -2
Math.Floor() 向下取整 3 3 -3

四、作业高频重点总结(直接背)

  1. Math.Abs():绝对值
  2. Math.Max()/Min():2 个数最大 / 最小值
  3. Math.Pow(a,b):a 的 b 次方(作业最常用,算 22222 必用)
  4. Math.Sqrt():开平方
  5. Math.Round():四舍五入;Ceiling向上;Floor向下
  6. Math.PI:圆周率

五、通用易错点

  1. Math.Pow 返回 double,必须强制转换 int 才能参与整数运算
  2. 取整类方法只对小数生效,整数取整无意义
  3. Math.Sqrt 不能传入负数
  4. Max/Min 只能比较 2 个数值,多个值需要嵌套

更多推荐