C#中decimal保留2位有效小數(shù)的實(shí)現(xiàn)方法
在C#的數(shù)字運(yùn)算過程中,有時(shí)候針對(duì)十進(jìn)制decimal類型的計(jì)算需要保留2位有效小數(shù),針對(duì)decimal變量保留2位有效小數(shù)有多種方法,可以使用Math.Round方法以及ToString先轉(zhuǎn)換為字符串等操作來(lái)實(shí)現(xiàn)。
(1)方法一:使用C#中的數(shù)字計(jì)算類Math類中的方法Math.Round方法。
Math.Round方法是用于計(jì)算四舍五入的方法,其中一個(gè)方法簽名為decimal Round(decimal d, int decimals),d代表要進(jìn)行計(jì)算的decimal變量,decimals代表保留的小數(shù)位數(shù)。
例如有個(gè)decimal類型變量numDecimal=34.3471,需要對(duì)之保留2位有效數(shù)字可使用下列語(yǔ)句:
decimal numDecimal = 34.3471M; numDecimal = Math.Round(numDecimal, 2);
計(jì)算結(jié)果為:34.35,Math.Round方法進(jìn)行了四舍五入操作。
(2)方法二:先使用ToString轉(zhuǎn)換為字符串,再轉(zhuǎn)換回decimal類型。
使用該辦法的時(shí)候,調(diào)用ToString方法也會(huì)進(jìn)行四舍五入操作。
繼續(xù)方法一中的例子,如果使用ToString方法,可使用下列程序語(yǔ)句:
decimal numDecimal = 34.3471M;
string numDecimalStr = numDecimal.ToString("#0.00");
numDecimal = decimal.Parse(numDecimalStr);
計(jì)算結(jié)果為:34.35,ToString("#0.00")對(duì)計(jì)算結(jié)果轉(zhuǎn)換為字符串進(jìn)行了四舍五入操作。
(3)方法三:先使用String.Format方法格式化decimal類型為字符串,而后在轉(zhuǎn)換為decimal類型。
使用該辦法的時(shí)候,同樣會(huì)像上面2個(gè)方法一樣,對(duì)計(jì)算結(jié)果進(jìn)行四舍五入。
繼續(xù)方法一中的例子,如果使用String.Format方法,可使用下列程序語(yǔ)句:
decimal numDecimal = 34.3471M;
string numDecimalStr = String.Format("{0:N}", numDecimal);
numDecimal = decimal.Parse(numDecimalStr);
ps:C#decimal類型保留小數(shù)點(diǎn)后有效數(shù)字
例:
decimal d=0.5000; d.ToString(“0.##”);
也可以這樣 string.Format(“{0:0.##}”,d000)
.##表示最多保留2位有效數(shù)字,但是不包括0,就是說(shuō) 如果上面d=0.5000,出來(lái)后也只是0.5,方便多了
總結(jié)
以上所述是小編給大家介紹的C#中decimal保留2位有效小數(shù)的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- C#截圖程序類似騰訊QQ截圖實(shí)現(xiàn)代碼
- 詳解c# 中的DateTime
- C# [ImportDll()] 知識(shí)小結(jié)
- C#使用TimeSpan時(shí)間計(jì)算的簡(jiǎn)單實(shí)現(xiàn)
- 使用c#+IMap實(shí)現(xiàn)收取163郵件
- 詳解C#中的System.Timers.Timer定時(shí)器的使用和定時(shí)自動(dòng)清理內(nèi)存應(yīng)用
- C# DateTime與時(shí)間戳轉(zhuǎn)換實(shí)例
- C#byte數(shù)組與Image的相互轉(zhuǎn)換實(shí)例代碼
- C#中的DateTime是值類型還是引用類型
- C#無(wú)損轉(zhuǎn)換Image為Icon的方法
- C# 調(diào)用騰訊即時(shí)通信 IM的示例
相關(guān)文章
Unity中 ShaderGraph 實(shí)現(xiàn)旋渦傳送門效果入門級(jí)教程(推薦)
通過Twirl 旋轉(zhuǎn)節(jié)點(diǎn)對(duì)Gradient Noise 梯度噪聲節(jié)點(diǎn)進(jìn)行操作,就可得到一個(gè)旋轉(zhuǎn)的旋渦效果。具體實(shí)現(xiàn)代碼跟隨小編一起通過本文學(xué)習(xí)下吧2021-07-07
C#如何利用結(jié)構(gòu)體對(duì)固定格式數(shù)據(jù)進(jìn)行解析
這篇文章主要為大家詳細(xì)介紹了C#利用結(jié)構(gòu)體對(duì)固定格式數(shù)據(jù)進(jìn)行解析,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
C#中創(chuàng)建PDF網(wǎng)格并插入圖片的方法
這篇文章我將向大家演示如何以編程的方式在PDF文檔中創(chuàng)建一個(gè)網(wǎng)格,并將圖片插入特定的網(wǎng)格中。對(duì)c# pdf 網(wǎng)格 插入圖片的知識(shí)感興趣的朋友一起看看吧2016-11-11
C#實(shí)現(xiàn)萬(wàn)物皆可排序的隊(duì)列方法詳解
本文詳細(xì)講解了C#實(shí)現(xiàn)萬(wàn)物皆可排序隊(duì)列的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
Unity中Instantiate實(shí)例化物體卡頓問題的解決
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)離線計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10

