《C#零基础入门之百识百例》(三十八)常用方法 -- Math类

本文是C#零基础入门系列的一部分,详细介绍了Math类的基础数值操作、取整方法、指数对数及平方根计算,以及三角函数的使用。文中通过示例代码演示了每个功能,并指出在使用三角函数时要注意角度与弧度的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文属于C#零基础入门之百识百例系列文章。此系列文章旨在为学习C#语言的童鞋提供一套系统的学习路径。此系列文章都会通过【知识点】【练习题】的形式呈现。有任何问题,你都可以通过评论私信等方式找到我,我会一对一解答你的问题。


系列文章目录: 导图
《C#零基础入门之百识百例》 目录文章传送门


请添加图片描述

一,基础数值

释义:

方法名说明
Math.PI对应数学中的π(其值为3.141592653589793)。
Math.Abs(a)返回参数a的绝对值;int,double,decimal多类型重载。
Math.Max(a, b)返回两个数中大的一个;byte,int,double,decimal多类型重载。
Math.Min(a, b)返回两个数中小的一个;byte,int,double,decimal多类型重载。

示例代码:

Console.WriteLine("Math.PI:" + Math.PI);

Console.WriteLine("Math.Abs:" + Math.Abs(-1));
Console.WriteLine("Math.Abs:" + Math.Abs(1.1));

Console.WriteLine("Math.Max:" + Math.Max(1, 2));
Console.WriteLine("Math.Min:" + Math.Min(1.1, 2.2));

结果输出:

Math.PI:3.141592653589793
Math.Abs:1
Math.Abs:1.1
Math.Max:2
Math.Min:1.1

二,三种取整

释义:

方法名说明
Math.Round(a)返回a四舍六入五取偶最接近的整数
Math.Floor(a)返回a向下取整后的数
Math.Ceiling(a)返回a向上取整后的数

示例代码:

double pai = 3.1415926;
Console.WriteLine(Math.Round(pai));
Console.WriteLine(Math.Floor(pai));
Console.WriteLine(Math.Ceiling(pai));

输出结果:

Math.Round : 3
Math.Floor : 3
Math.Ceiling : 4

其中Math.Round()需要注意:其实并不是真正的 四舍五入 ,而是 四舍六入五取偶

Console.WriteLine("Math.Round(3.5) : " + Math.Round(3.5));
Console.WriteLine("Math.Round(4.5) : " + Math.Round(4.5));
Console.WriteLine("Math.Round(5.5) : " + Math.Round(5.5));

结果为:

Math.Round(3.5) : 4
Math.Round(4.5) : 4
Math.Round(5.5) : 6

三,指数对数平方根

释义:

方法名说明
Math.Pow(a, b)返回a的b次幂
Math.Exp(a)返回e的a次幂
Math.Log(a)返回以e为底a的对数
Math.Log2(a)返回以2为底a的对数
Math.Log10(a)返回以10为底a的对数
Math.Sqrt (a)返回以a的平方根

示例代码:

// 2的2次幂
Console.WriteLine("Math.Pow : " + Math.Pow(2, 2));
// e的2次幂
Console.WriteLine("Math.Exp : " + Math.Exp(2));

// 以e为底2的对数
Console.WriteLine("Math.Log : " + Math.Log(2));
// 以2为底2的对数
Console.WriteLine("Math.Log2 : " + Math.Log2(2));
// 以10为底10的对数
Console.WriteLine("Math.Log10 : " + Math.Log10(10));

// 4的平方根
Console.WriteLine("Math.Sqrt : " + Math.Sqrt(4));

输出结果:

Math.Pow : 4
Math.Exp : 7.38905609893065
Math.Log : 0.6931471805599453
Math.Log2 : 1
Math.Log10 : 1
Math.Sqrt : 2

四,三角函数

C#中的计算三角函数方法弧度值为参数传入的。比如当我们需要求sin45°时,需要先将角度转为弧度才可进行方法调用。

释义:

方法名说明
Math.Sin(a)返回参数弧度a的正弦值
Math.Asin(a)返回参数弧度a的反正弦值
Math.Cos(a)返回参数弧度a的余弦值
Math.Acos(a)返回参数弧度a的反余弦值
Math.Tan(a)返回参数弧度a的正切值
Math.Atan(a)返回参数弧度a的反正切值
Math.Atan2(a,b)返回参数(a,b)点的从X坐标轴到点的弧度值

角度弧度互转公式

  • 角度转弧度 :π / 180 × 角度;
  • 弧度转角度: 180 / π × 弧度

代码示例:【以45角度为例,进行各项求值】

// 45角度转为弧度
double radian = Math.PI / 180 * 45;
// 同上转换
//double radian = Math.PI /4;

Console.WriteLine("Math.Sin: " + Math.Sin(radian));
Console.WriteLine("Math.Cos: " + Math.Cos(radian));
Console.WriteLine("Math.Tan: " + Math.Tan(radian));
Console.WriteLine("Math.Asin: " + Math.Asin(radian));
Console.WriteLine("Math.Acos: " + Math.Acos(radian));
Console.WriteLine("Math.Atan: " + Math.Atan(radian));
Console.WriteLine("Math.Atan2: " + Math.Atan2(1, 1));
// 将得到弧度转换回角度
Console.WriteLine("Math.Atan2: " + Math.Atan2(1, 1) * (180 / Math.PI));

结果输出:

Math.Sin: 0.7071067811865475
Math.Cos: 0.7071067811865476
Math.Tan: 0.9999999999999999
Math.Asin: 0.9033391107665127
Math.Acos: 0.6674572160283838
Math.Atan: 0.6657737500283538
Math.Atan2: 0.7853981633974483
Math.Atan2: 45

由上面结果可以看出得到的结果似乎不完全对❓ 这是咋回事呢?经过对比发现是代码计算精度过高,且没有进行四舍五入导致的。

进行使用Math.Round(Math.Sin(radian), 8) 对上面代码进行取8位小数且四舍五入后的结果:

Math.Sin: 0.70710678
Math.Cos: 0.70710678
Math.Tan: 1
Math.Asin: 0.90333911
Math.Acos: 0.66745722
Math.Atan: 0.66577375
Math.Atan2: 0.78539816
Math.Atan2: 45
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈言必行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值