在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位有效小數的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
新聞熱點
疑難解答