C#|關於四舍五入的解決方案


對於一些數據,我們經常需要通過某種方法,得到我們想要的小數點后幾位,以及它的精確程度。

主要有3種方式:

  1. Round()
  2. ToString()
  3. Format()

1.Round()

需要在使用時調用自帶的數學函數Round(),具體實現如下:

1 double MyValue = 1990.8753;
2 double d = Math.Round(MyValue, 2); //輸出:1990.88,使用了Math中的函數
3 decimal de = decimal.Round(decimal.Parse(MyValue), 2); //輸出:1990.88

備注:在C#里decimal表示 128 位數據類型,與double相比,decimal 類型具有更高的精度和更小的范圍,適合於財務和貨幣計算。並且,在.NET環境中,計算該類型的值會有性能上的損失,因為它不是基本類型。

2.ToString()

轉化為字符串輸出:

1 double MyValue = 612.576;
2 string str = MyValue.ToString("f2"); //輸出:612.58
3 string str1 = MyValue.ToString("#0.00"); //輸出:612.58,小數點后有幾個0就保留幾位

3.Format()

使用String.Format(~.~)

可以指定保留的位數:

1 double MyValue = 311.3876943;
2 string str1 = String.Format("{0:N2}", MyValue); //輸出:311.39
3 string str2 = String.Format("{0:N3}", MyValue); //輸出:311.388
4 string str3 = String.Format("{0:N4}", MyValue); //輸出:311.3877

 

上述三種方法中,如果需要反復計算取精度的話,首選第一種,也就是Round()方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM