在C#語言中,float、double以及decimal類型都可以用來表示小數,但三者還是有一定的不同,有效數字為相比的話,decimal類型的有效數字最大,float類型最小。計算浮點類型的運算,如果只有float和double類型選擇的話,建議選擇double類型,計算誤差相對小一些。如果是涉及 ...
在C#語言中,float、double以及decimal類型都可以用來表示小數,但三者還是有一定的不同,有效數字為相比的話,decimal類型的有效數字最大,float類型最小。計算浮點類型的運算,如果只有float和double類型選擇的話,建議選擇double類型,計算誤差相對小一些。如果是涉及到財務或者貨幣金額等金融計算,建議使用十進位decimal類型,decimal的有效位數很大,達到了28位,可以保證計算結果更為精準。
針對這3種類型,其中float和double為基礎類型,而decimal不是。
float類型:單精度浮點類型 32bit。有效數字7位,範圍 ±1.5 × 10E−45 to ±3.4 × 10E38
double類型:雙精度浮點 64bit。有效數字15/16 位,範圍 ±5.0 × 10 E−324 to ±1.7 × 10E308
decimal類型:此類型為高精度類型,128bit,浮點型。範圍 ±1.0 × 10E−28 to ±7.9 × 10E28
其中上述表達式中,E表示幾次方的意思。
decimal類型表示的數字範圍比float和double小,但計算結果誤差比上述兩者小,一般需要高精度小數運算或者金融財務貨幣計算的時候,都會選擇decimal類型來存儲變數值以及運算結果。
備註:原文轉載自博主個人站IT技術小趣屋,原文鏈接為 C#中float、double以及decimal類型有何不同_IT技術小趣屋。