1. 程式人生 > 程式設計 >C#中decimal保留2位有效小數的實現方法

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