對於一些數據,我們經常需要通過某種方法,得到我們想要的小數點后幾位,以及它的精確程度。
主要有3種方式:
- Round()
- ToString()
- 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()方法。