news 2026/6/23 8:14:58

C# 数学运算与日期处理全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# 数学运算与日期处理全解析

第五次

一, Math 提供一些关于数学运算的方法

1,Math.PI 用于求圆周率

用法:Console.WriteLine(Math.PI)

4,

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)); // -4

4,所谓银行家输入法,其实质是一种四舍六入五取偶(又称四舍六入五取双)法。其规则是:当舍去位的数值小于5时直接舍去该位;当舍去位的数值大于等于6时在舍去该位的同时向前位进一;当舍去位的数值等于五时如果前位数值为奇,则在舍去该位的同时向前位进一,如果前位数值为偶,则直接舍去该位

5,Math.Round() 四舍五入

Console.WriteLine(Math.Round(4.6)); //四舍五入 5s
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)); // 求最大值

8,Math.Min() 求最小值

Console.WriteLine(Math.Min(-10, 1)); // 求最小值

9,Math.Sqrt() 进行开方运算

Console.WriteLine(Math.Sqrt(9)); // 开方运算

10,Math .pow(a,b) a的b次方

Console.WriteLine(Math.Pow(2,5)); // 2的5次方

11,Math 中关于正弦,余弦,正切 的用法

Console.WriteLine(Math.Sin(Math.PI/6)); // sin30° 正弦0.5
Console.WriteLine(Math.Cos(Math.PI / 3));//cos60° = 0.5
Console.WriteLine(Math.Tan(Math.PI / 4)); //正切90°=1

12,Math中 关于log ,ln的一些相关用法

Console.WriteLine(Math.Log10(1000));// 10的多少次方等于1000返回指定数字以10为底的对数是多少
Console.WriteLine(Math.Log(10));// 返回指定以e为底的对数是多少

13,Math.BigMul() 返回 两个数的乘积
Console.WriteLine(Math.BigMul(10, 999)); //9990返回两个数字乘积

二,关于数据类型的API和属性

1, Console.WriteLine(double.NegativeInfinity); //negative 消极的 负无穷大 -∞
2,Console.WriteLine(double.PositiveInfinity); //Positive 积极的,正无穷大 ∞
3,Console.WriteLine(int.MaxValue);//214748 整型的最大值
4,Console.WriteLine(int.MinValue);// -214748 型的最小值
5,Console.WriteLine(decimal.MaxValue);//十进制数最大值
6,Console.WriteLine(decimal.MinValue);//十进制数最小值
7,Console.WriteLine(sbyte.MaxValue);// 字符的最大值 127

三, 日期对象

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); //小时

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

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

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

Console.WriteLine(time.Millisecond); //当前星期

3,根据一些特殊符号获取对应时间

Console.WriteLine(time.ToString("yy")); //年的后两位 重点
Console.WriteLine(time.ToString("yyyy"));//2025 重点
Console.WriteLine(time.ToString("MM")); //当前月份 表示如果6 打印06
Console.WriteLine(time.ToString("MMM"));//12月 操作系统是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")); //千分之一秒 毫秒数

4,关于时间戳对象
new DateTimeOffset(time) 时间戳对象, 获取当前时间的时间戳对象

DateTimeOffset off = new DateTimeOffset(time);
Console.WriteLine(off.ToUnixTimeMilliseconds()+""); //从1970年到目前之间的毫秒数1764940728232
Console.WriteLine(off.ToUnixTimeSeconds()+"");// 从1979年到目前的秒数 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); //枚举类型可以进行强制转换成整型的 5 :0 代表周日
Console.WriteLine(time.ToString("今年是第yyyy
年"));

7, Thread.Sleep(1000); 表示线程休眠1000毫秒 ,线程休眠1秒

四,关于日期的计算方法

1,先获取当前时间

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

相关用法在下面代码中展示:

“ 上文 为本次第五部分内容,后续将不定时更新,若对主题感兴趣,欢迎订阅获取更新通知."

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 16:59:51

Java 应对 Rust 竞争的 性能优化策略

在系统级开发、云原生、嵌入式等领域,Rust 凭借“零成本抽象”“内存安全无 GC”“无数据竞争”等特性迅速崛起,成为 Java 的有力竞争对手。Rust 的性能优势主要体现在内存开销低、响应延迟稳定、并发效率高等方面,而 Java 因 GC 停顿、对象内…

作者头像 李华
网站建设 2026/6/22 20:54:43

Spring Boot 4.0 虚拟线程启用配置与性能测试全解析

在Java 21中,虚拟线程(Virtual Threads)正式从预览特性转正,它作为轻量级线程,彻底改变了Java程序的并发编程模式。Spring Boot 4.0基于Java 21构建,深度集成了虚拟线程特性,无需复杂的底层封装…

作者头像 李华
网站建设 2026/6/23 15:38:54

Go语言原生智能合约开发与部署完全指南

在区块链技术生态中,智能合约是实现链上逻辑自动化的核心载体。提及智能合约开发,多数开发者首先想到的是Solidity(以太坊生态)、Rust(Solana/Polkadot生态)等语言。但Go语言凭借其简洁高效、并发安全、编译…

作者头像 李华
网站建设 2026/6/22 22:26:49

Go实现的区块链 分片技术优化

随着区块链技术的普及,比特币、以太坊等主流区块链网络面临着日益严峻的可扩展性瓶颈——交易吞吐量低、延迟高、网络拥堵等问题逐渐凸显。区块链分片(Blockchain Sharding)技术作为解决可扩展性问题的核心方案之一,通过将区块链网…

作者头像 李华
网站建设 2026/6/22 20:26:38

智慧林业无人机巡检数据集 松材线虫病害分割识别数据集 林业数目病害数据集 森林树木枯木巡检识别 yolo图像识别10285期

实例分割数据集专属简介类别 dead 枯萎的 debris 残骸 trees 树木核心维度详细内容价值解读数据集类别纯实例分割专项数据集聚焦实例分割任务,可精准区分同一类别下不同个体目标,打破常规检测仅能框选目标的局限,为精细化视觉分析提供数据支撑…

作者头像 李华
网站建设 2026/6/22 18:48:53

DPJ-125 基于STC89C52的产品自动计数器设计(源代码+proteus仿真)

单片机型号(STC89C52)目录一、摘要二、设计要求三、原理图四、说明书预览五、QA作者简介:电类领域优质创作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导&am…

作者头像 李华