網(wǎng)站首頁 編程語言 正文
零、動態(tài)庫 System.Math.dll
引入動態(tài)庫 using System.Math;
Math 為通用數(shù)學(xué)函數(shù)、對數(shù)函數(shù)、三角函數(shù)等提供常數(shù)和靜態(tài)方法,使用起來非常方便,下邊簡單列一下常用的幾種。
一、舍棄小數(shù)位處理
1. 四舍五入 Math.Round()
Math.Round(74.5, MidpointRounding.AwayFromZero) = 75; // 保留到個位
Math.Round(-74.5, MidpointRounding.AwayFromZero) = -75; // 目標值為負數(shù)時,四舍五入和正整數(shù)相同
單純使用 Math.Round(4.5) 得出的值為 4,因為 Round 默認是采用 Banker's rounding(銀行家算法),即:四舍六入五取偶。事實上這也是 IEEE 的規(guī)范,因此所有符合 IEEE 標準的語言都應(yīng)該采用這樣的算法。
所謂取偶,就是看上一位:如果是偶數(shù),小數(shù)位為 5 就舍棄;若為奇數(shù),小數(shù)位為 5 就進 1。因此,若寫法:Math.Round(74.5)=74;
Math.Round(7.015, 2, MidpointRounding.AwayFromZero) = 7.02; // 保留多位小數(shù)
Math.Round(-7.015, 2, MidpointRounding.AwayFromZero) = -7.02;
若需要保留多位小數(shù),也是同樣需要帶枚舉類型。
// Round 共有八個重載,輸出類型由輸入類型確定
Round(Decimal)
Round(Double)
Round(Decimal, Int32)
Round(Decimal, MidpointRounding)
Round(Double, Int32)
Round(Double, MidpointRounding)
Round(Decimal, Int32, MidpointRounding)
Round(Double, Int32, MidpointRounding)
關(guān)于 MidpointRounding 官網(wǎng)鏈接。
2. 進一法 Math.ceil() 和舍棄法 Math.Floor()
double[] values = { 7.03, 7.64, 0.12, -0.12, -7.1, -7.6 };
Console.WriteLine(" 輸入值 Ceiling 結(jié)果 Floor 結(jié)果\n");
foreach (double value in values)
Console.WriteLine("{0,7} {1,16} {2,14}", value, Math.Ceiling(value), Math.Floor(value));
// 輸入值 Ceiling 結(jié)果 Floor 結(jié)果
// 7.03 8 7
// 7.64 8 7
// 0.12 1 0
// -0.12 -0 -1
// -7.1 -7 -8
// -7.6 -7 -8
二、取隨機數(shù) Random()
在新版的 C# 中,Random 類包含在命名空間 System 中,因此基本上隨時隨地都可以直接實例化并取用,十分方便。
下面用實例簡單介紹下幾個重載的用法,更加詳細的用法推薦 Random 官方文檔 。
Random random = new Random();
// Random.Next() // 返回非負int型隨機數(shù)
int randomvalue = random.Next(); // 0 <= 返回值 <2,147,483,647 的整數(shù)
// Random.Next(Int) // 返回一個小于所指定最大值的非負隨機整數(shù)
int randomvalue1 = random.Next(10); // 0 <= 返回值 < 10 的整數(shù)
// Random.Next(Int,Int) // 返回一個指定范圍內(nèi)的隨機整數(shù)數(shù),例如(-100,0)返回負數(shù)
int randomvalue2 = random.Next(10,20); // 10 <= 返回值 < 20 的整數(shù)
int randomvalue2 = random.Next(-10,0); // -10 <= 返回值 < 0 的整數(shù)
// Random.NextDouble() // 返回一個介于 0 到 1 之間的隨機數(shù) 0.70865696329095262
double randomvalue2 = random.NextDouble(); // 例如:0.70865696329095262、0.021905906508632892
三、絕對值 Math.Abs()
求絕對值的方法,只有僅一個參數(shù)的重載,即入?yún)⒉煌鰠⒑腿雲(yún)㈩愋拖嗤芎唵尾辉儋樖觥ath.Abs() 官方文檔
decimal[] decimals = { Decimal.MaxValue, 12.45M, 0M, -19.69M,
Decimal.MinValue };
foreach (decimal value in decimals)
Console.WriteLine($"Abs({value}) = {Math.Abs(value)}");
//Abs(79228162514264337593543950335) = 79228162514264337593543950335
//Abs(12.45) = 12.45
//Abs(0) = 0
//Abs(-19.69) = 19.69
//Abs(-79228162514264337593543950335) = 79228162514264337593543950335
四、取較大值 Math.max() 與取最小值 Math.min()
較常用的寫法就是比較兩個數(shù)字的大小。它們還支持比較多種類型,詳見 Math.Max() 官網(wǎng) 。
Math.Max(0,1) = 1;
Math.Min(0,1) = 0;
五、冪次方 Math.Pow() 與求平方根 Math.sqrt()
簡單示例如下:
Math.Pow(2, 3) = 8; // 2 的 3 次方
Math.Sqrt(16) = 4; // 16 的平方根為 4,即 4*4 = 16
原文鏈接:https://www.cnblogs.com/czzj/p/16892863.html
相關(guān)推薦
- 2022-06-25 C++虛函數(shù)表的原理與使用解析_C 語言
- 2022-05-19 python中join與os.path.join()函數(shù)實例詳解_python
- 2022-09-03 Matplotlib中文亂碼的兩種詳細解決方案_python
- 2022-07-14 詳解HBase表的數(shù)據(jù)模型_其它綜合
- 2022-10-13 pytorch和tensorflow計算Flops和params的詳細過程_python
- 2022-08-01 GoLand一鍵上傳項目到遠程服務(wù)器的方法步驟_Golang
- 2022-03-24 Android使用Span打造豐富多彩的文本詳解_Android
- 2022-04-06 .NET?Core使用CZGL.SystemInfo庫獲取主機運行資源_基礎(chǔ)應(yīng)用
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支