C# 中 float、double 和 decimal 有什么区别?

csharpprogrammingserver side programming更新于 2025/10/15 21:07:17

在 C# 中,float、double 和 decimal 都是值类型。

值类型变量可以直接赋值。它们派生自 System.ValueType 类。值类型直接包含数据。

浮点值类型

浮点类型是 32 位单精度浮点类型,取值范围为 3.4 x 1038 到 + 3.4 x 1038

内存占用为 4 字节。

float a = 3.5f;

双精度浮点数类型

双精度浮点数是 64 位双精度浮点数,取值范围为 (+/-)5.0 x 10-324 至 (+/-)1.7 x 10308

内存占用 8 字节。

double d = 5.78788

十进制值类型

十进制是 128 位精确十进制数,有效数字为 28-29 位,取值范围为 (-7.9 x 1028 至 7.9 x 1028) / 100 至 28

内存大小为 16 字节。

decimal d = 1.0M;

相关文章