浮點數的精度可變,在一個表達式中只有當除數是2的整數次冪時才能准確無誤的計算出結果,其他情況下用浮點類型無法准確的計算出結果。這個聽起來很亂對吧,下面我就詳細地講一下。當我們將浮點類型的變量值設置為0.1時,C#就會很容易表示成0.099999999999999999,或者0.1000000000000000001,或者是一個非常接近0.1的數字。根據定義,浮點數的精度與它所代表的數字的大小成正比,也就是說浮點數的精度是由有效位數的個數決定的,而不是由一個固定值決定的。所以說如果在開發中需要精確的數字(例如金融行業的應用),那么我們就不能使用浮點類型,應該使用 decimal 類型。