在C#的數字運算過程中,有時候針對十進位decimal類型的計算需要保留2位有效小數,針對decimal變數保留2位有效小數有多種方法,可以使用Math.Round方法以及ToString先轉換為字元串等操作來實現。 (1)方法一:使用C#中的數字計算類Math類中的方法Math.Round方法。 ...
在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);
備註:原文轉載自博主個人站IT技術小趣屋,原文鏈接為C#中decimal保留2位有效小數_IT技術小趣屋。