第五次
一、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秒钟