您的位置:首页 - 教程 - C# - 正文
C#的decimal 关键字
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 和浮点型将导致编译错误。

评论: