最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#?Math中常用數(shù)學(xué)運算的示例詳解

 更新時間:2022年11月28日 08:20:29   作者:橙子家  
Math?為通用數(shù)學(xué)函數(shù)、對數(shù)函數(shù)、三角函數(shù)等提供常數(shù)和靜態(tài)方法,使用起來非常方便。這篇文章主要為大家介紹幾個常用的數(shù)學(xué)運算的使用,需要的可以參考一下

零、動態(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)㈩愋拖嗤?,很簡單不再贅述?a target="_blank">Math.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

到此這篇關(guān)于C# Math中常用數(shù)學(xué)運算的示例詳解的文章就介紹到這了,更多相關(guān)C# Math常用數(shù)學(xué)運算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#驗證碼識別類完整實例

    C#驗證碼識別類完整實例

    這篇文章主要介紹了C#驗證碼識別類,以一個完整實例形式較為詳細的分析了驗證碼圖片處理所涉及的各種常用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C#圖片按比例縮放的實現(xiàn)代碼

    C#圖片按比例縮放的實現(xiàn)代碼

    這篇文章主要介紹了C#圖片按比例縮放的實現(xiàn)代碼,有需要的朋友可以參考一下
    2014-01-01
  • 基于C#制作一個飛機大戰(zhàn)小游戲的全過程

    基于C#制作一個飛機大戰(zhàn)小游戲的全過程

    飛機大戰(zhàn)小游戲詳細大家都不陌生,下面這篇文章主要給大家介紹了關(guān)于基于C#制作一個飛機大戰(zhàn)小游戲的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • C#中Convert.ToInt32()和int.Parse()的區(qū)別介紹

    C#中Convert.ToInt32()和int.Parse()的區(qū)別介紹

    Convert是一個類,繼承自system.Object;int是值類型,在本文為大家詳細介紹下它與int.Parse()的區(qū)別,感興趣的朋友可以參考下
    2013-10-10
  • C#調(diào)用windows api關(guān)機(關(guān)機api)示例代碼分享

    C#調(diào)用windows api關(guān)機(關(guān)機api)示例代碼分享

    本文主要介紹了C#調(diào)用windows api關(guān)機的示例代碼,大家參考使用吧
    2014-01-01
  • C#留言時間格式化

    C#留言時間格式化

    本文給大家分享的是仿微博或者空間中,發(fā)布內(nèi)容之后提示NN秒之前留言的代碼,主要是通過發(fā)布時間和當前時間直接的差值來計算,十分的簡單實用,有需要的小伙伴可以參考下。
    2015-05-05
  • C#動態(tài)webservice調(diào)用接口

    C#動態(tài)webservice調(diào)用接口

    動態(tài)調(diào)用webservice,就可以不用添加web引用了,上線的話也只是需要改一下wsdl地址就可以了
    2015-05-05
  • c#繼承與多態(tài)使用示例

    c#繼承與多態(tài)使用示例

    繼承是面向?qū)ο蟪绦蛟O(shè)計的主要特征之一,允許重用現(xiàn)有類去創(chuàng)建新類的過程。下面使用示例學(xué)習一下c#繼承與多態(tài)
    2014-01-01
  • c# 接口使用實例

    c# 接口使用實例

    這篇文章主要介紹了c#接口使用的實例,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習,感興趣的朋友可以了解下
    2020-07-07
  • C#使用RegNotifyChangeKeyValue監(jiān)聽注冊表更改的方法小結(jié)

    C#使用RegNotifyChangeKeyValue監(jiān)聽注冊表更改的方法小結(jié)

    RegNotifyChangeKeyValue的最后一個參數(shù)傳遞false,表示以同步的方式監(jiān)聽,這篇文章主要介紹了C#使用RegNotifyChangeKeyValue監(jiān)聽注冊表更改的方法小結(jié),需要的朋友可以參考下
    2024-06-06

最新評論

柯坪县| 米易县| 海丰县| 富锦市| 江孜县| 徐水县| 明星| 宁晋县| 新晃| 韶山市| 微山县| 平湖市| 池州市| 苍南县| 布尔津县| 遵义县| 麻城市| 永和县| 同仁县| 武隆县| 青龙| 平舆县| 鄂托克前旗| 凤庆县| 广德县| 五峰| 沅陵县| 大姚县| 大洼县| 民县| 额尔古纳市| 株洲县| 项城市| 女性| 灵璧县| 崇信县| 沛县| 阳新县| 成武县| 赣州市| 郑州市|