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;

