C#中decimal保留2位有效小數的實現方法
在C#的數字運算過程中,有時候針對十進位制decimal型別的計算需要保留2位有效小數,針對decimal變數保留2位有效小數有多種方法,可以使用Math.Round
方法以及ToString先轉換為字串等操作來實現。
(1)方法一:使用C#中的數字計算類Math類中的方法Math.Round方法。
Math.Round方法是用於計算四捨五入的方法,其中一個方法簽名為decimal Round(decimal d,int decimals)
,d代表要進行計算的decimal變數,decimals代表保留的小數位數。
例如有個decimal型別變數numDecimal=34.3471,需要對之保留2位有效數字可使用下列語句:
decimal numDecimal = 34.3471M; numDecimal = Math.Round(numDecimal,2);
計算結果為:34.35,Math.Round方法進行了四捨五入操作。
(2)方法二:先使用ToString轉換為字串,再轉換回decimal型別。
使用該辦法的時候,呼叫ToString方法也會進行四捨五入操作。
繼續方法一中的例子,如果使用ToString方法,可使用下列程式語句:
decimal numDecimal = 34.3471M; string numDecimalStr = numDecimal.ToString("#0.00"); numDecimal = decimal.Parse(numDecimalStr);
計算結果為:34.35,ToString("#0.00")對計算結果轉換為字串進行了四捨五入操作。
(3)方法三:先使用String.Format方法格式化decimal型別為字串,而後在轉換為decimal型別。
使用該辦法的時候,同樣會像上面2個方法一樣,對計算結果進行四捨五入。
繼續方法一中的例子,如果使用String.Format方法,可使用下列程式語句:
decimal numDecimal = 34.3471M; string numDecimalStr = String.Format("{0:N}",numDecimal); numDecimal = decimal.Parse(numDecimalStr);
ps:C#decimal型別保留小數點後有效數字
例:
decimal d=0.5000; d.ToString(“0.##”);
也可以這樣 string.Format(“{0:0.##}”,d000)
.##表示最多保留2位有效數字,但是不包括0,就是說 如果上面d=0.5000,出來後也只是0.5,方便多了
總結
以上所述是小編給大家介紹的C#中decimal保留2位有效小數的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!