全部版块 我的主页
论坛 经济学论坛 三区 微观经济学 经济金融数学专区
107 2
2025-12-11

第五次

一、Math 类常用数学运算方法

1. Math.PI:获取圆周率的值。

Console.WriteLine(Math.PI);

2. Math.Floor():执行向下取整操作,即向负无穷方向舍入。

Console.WriteLine(Math.Floor(2.1));   // 输出:2
Console.WriteLine(Math.Floor(-3.1));  // 输出:-4

3. Math.Ceiling():实现向上取整,即向正无穷方向进位。

Console.WriteLine(Math.Ceiling(3.1));   // 输出:4
Console.WriteLine(Math.Ceiling(-3.1));  // 输出:-3

4. 银行家舍入法(又称四舍六入五成双)是一种减少统计偏差的舍入规则。具体规则如下:

  • 若舍去部分的数值小于5,则直接舍去;
  • 若大于或等于6,则向前一位进1;
  • 若正好为5,则查看前一位数字的奇偶性:若为奇数则进1,若为偶数则舍去。

5. Math.Round():实现四舍五入功能,默认使用银行家舍入法。

Console.WriteLine(Math.Round(4.6));    // 输出:5
Console.WriteLine(Math.Floor(4.4));    // 输出:4
Console.WriteLine(Math.Floor(-4.4));   // 输出:-4

6. Math.Abs():用于计算一个数的绝对值。

Console.WriteLine(Math.Abs(-1));       // 输出:1

7. Math.Max():比较两个数并返回较大的那个。

Console.WriteLine(Math.Max(-10, 1));   // 输出:1

8. Math.Min():比较两个数并返回较小的那个。

Console.WriteLine(Math.Min(-10, 1));   // 输出:-10

9. Math.Sqrt():对指定数字进行平方根运算。

Console.WriteLine(Math.Sqrt(9));       // 输出:3

10. Math.Pow(a, b):计算 a 的 b 次方。

Console.WriteLine(Math.Pow(2, 5));     // 输出:32

11. 三角函数相关方法:包括正弦、余弦和正切的计算。

Console.WriteLine(Math.Sin(Math.PI / 6));     // sin(30°) = 0.5
Console.WriteLine(Math.Cos(Math.PI / 3));       // cos(60°) = 0.5
Console.WriteLine(Math.Tan(Math.PI / 4));       // tan(45°) = 1

12. 对数运算方法:支持以10为底和自然对数(以e为底)的计算。

Console.WriteLine(Math.Log10(1000));            // log(1000) = 3
Console.WriteLine(Math.Log(10));                // ln(10) ≈ 2.302

13. Math.BigMul():返回两个整数相乘的结果,避免溢出问题。

Console.WriteLine(Math.BigMul(10, 999));       // 输出:9990

二、常见数据类型的API与属性信息

1. double.NegativeInfinity:表示负无穷大。

Console.WriteLine(double.NegativeInfinity);   // 输出:-∞

2. double.PositiveInfinity:表示正无穷大。

Console.WriteLine(double.PositiveInfinity);   // 输出:∞

3. int.MaxValue:整型可表示的最大值。

Console.WriteLine(int.MaxValue);              // 输出:2147483647

4. int.MinValue:整型可表示的最小值。

Console.WriteLine(int.MinValue);              // 输出:-2147483648

5. decimal.MaxValue:十进制类型所能表示的最大值。

Console.WriteLine(decimal.MaxValue);          // 输出对应最大值

6. decimal.MinValue:十进制类型所能表示的最小值。

Console.WriteLine(decimal.MinValue);          // 输出对应最小值

7. sbyte.MaxValue:有符号字节类型的最大值。

Console.WriteLine(sbyte.MaxValue);            // 输出:127

三、日期时间处理 — DateTime 对象

1. DateTime 类 提供了获取当前时间、格式化时间以及时间戳计算等功能。

2. 获取当前系统时间,并提取各个时间组成部分:

DateTime time = DateTime.Now;                   // 获取当前时间
Console.WriteLine(time.ToString());             // 示例输出:2025/12/5
Console.WriteLine(time.Year);                   // 年份
Console.WriteLine(time.Month);                  // 月份
Console.WriteLine(time.Day);                    // 日期
Console.WriteLine(time.Hour);                   // 小时

四、关于日期的计算方法

1. 获取当前时间

DateTime time = DateTime.Now; // 获取当前时间

相关操作示例如下:

3. 利用特定符号获取对应的时间格式化值

Console.WriteLine(time.ToString("yy")); // 输出年份的后两位,如:25

Console.WriteLine(time.ToString("yyyy")); // 完整年份,如:2025

Console.WriteLine(time.ToString("MM")); // 月份,两位数显示,如:06

Console.WriteLine(time.ToString("MMM")); // 月份缩写,系统为Win11时显示“12月”,低版本可能显示“十二月”

Console.WriteLine(time.ToString("MMMM")); // 完整月份名称,如:十二月

Console.WriteLine(time.ToString("dd")); // 日期,两位格式,如:05

Console.WriteLine(time.ToString("ddd")); // 星期简称,如:周五

Console.WriteLine(time.ToString("dddd")); // 星期全称,如:星期五

Console.WriteLine(time.ToString("hh")); // 十二小时制,两位显示,如:02

Console.WriteLine(time.ToString("HH")); // 二十四小时制,如:21

Console.WriteLine(time.ToString("mm")); // 分钟,两位数格式,如:09

Console.WriteLine(time.ToString("ss")); // 秒数,两位显示

Console.WriteLine(time.ToString("fff")); // 毫秒部分,千分之一秒

同时,也可直接访问时间对象的属性来获取基础时间单位:

Console.WriteLine(time.Hour); // 小时

Console.WriteLine(time.Minute); // 分钟

Console.WriteLine(time.Second); // 秒

Console.WriteLine(time.Millisecond); // 毫秒

Console.WriteLine(time.Millisecond); // 当前星期(注:此处应为DayOfWeek相关用法)

4. 时间戳对象的使用

DateTimeOffset off = new DateTimeOffset(time); // 创建基于当前时间的时间戳对象

Console.WriteLine(off.ToUnixTimeMilliseconds()+""); // 输出自1970年起至现在的毫秒数,如:1764940728232

Console.WriteLine(off.ToUnixTimeSeconds()+""); // 输出自1970年起至现在的秒数,如:1764940728

5. 自定义时间对象的创建

DateTime birthDate = new DateTime(2003, 09, 27, 14, 51, 40);

Console.WriteLine(birthDate.ToString()); // 输出指定出生时间

DateTimeOffset off1 = new DateTimeOffset(birthDate); // 出生时刻的时间戳

DateTimeOffset off2 = new DateTimeOffset(DateTime.Now); // 当前时间的时间戳

Console.WriteLine(off2.ToUnixTimeSeconds() - off1.ToUnixTimeSeconds()); // 计算从出生到当前经过的总秒数

6. 使用预定义格式字符串快速格式化日期输出

Console.WriteLine(time.ToString("G")); // 常规日期时间格式,如:2025/12/5 ...

Console.WriteLine(time.ToString("F")); // 完整日期时间格式,如:2025年12月5日 ...

Console.WriteLine(time.ToString("D")); // 长日期格式,如:2025年12月5日

Console.WriteLine(time.DayOfYear); // 返回今年的第几天

Console.WriteLine((int)time.DayOfWeek); // 将星期枚举转换为整型,周日为0,周五为5

Console.WriteLine(time.ToString("今年是第yyyy年"));

7. 线程休眠控制

Thread.Sleep(1000); // 当前线程暂停1000毫秒,即1秒钟

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2025-12-11 15:48:53
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2025-12-12 09:31:45
能分享下软件Math的用法资料吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群