decimal 關鍵字指示 128 位數據類型。與浮點型相比,decimal 類型具有更高的精度和更小的范圍,這使它適合於財務和貨幣計算。 decimal 類型的大致范圍和精度如下表所示。
類型 | 大致范圍 | 精度 | .NET Framework 類型 | decimal
(-7.9 x 1028 - 7.9 x 1028) / (100 - 28)
28-29 個有效位
System.Decimal
如果希望實數被視為 decimal 類型,請使用後綴 m 或 M,例如:
decimal myMoney = 300.5m;
如果沒有後綴 m,則數字將被視為 double 類型並會生成編譯器錯誤。
整型將被隱式轉換為 decimal 類型,其計算結果為 decimal。因此,你可以使用整數文本初始化十進制變量而不使用後綴,如下所示:
decimal myMoney = 300;
在浮點型和 decimal 類型之間不存在隱式轉換;因此,必須使用強制轉換以在這兩個類型之間轉換。例如:
decimal myMoney = 99.9m;
double x = (double)myMoney;
myMoney = (decimal)x;
你還可以在同一表達式中混合使用 decimal 和數值整型。但是,不進行強制轉換就混合使用 decimal 和浮點型將導致編譯錯誤。