decimal 128bit大小 有效數字:28~29,雖然decimal類型有比浮點類型更高的精度,但它的范圍更小。故double轉decimal有可能發生溢出錯誤,此外,decimal的計算速度稍微慢一些。
Console.WriteLine(1.618031234567895);
輸出結果:1.61803123456789
最後一個數字5丟失了,這符合我們對double類型精度的預期。
要顯示具有完整精度的數字,必須將字面值顯示地聲明為decimal類型,這是通過追加一個m(或者M)來實現的:
Console.WriteLine(1.618031234567895m);
輸出結果:1.618031234567895
之所以用m表示decimal,是因為這種數據類型經常用在貨幣(monetary)計算中。