C#里float、double、decimal区别

Winema ·
更新时间:2024-09-20
· 896 次阅读

个人对此三个数的理解:
1 float
    1.1 包含其表示范围内的全部整数;
    1.2 包含其表示范围内的部分小数(单精度)。
2 double
    2.1 包含其表示范围内的全部整数;
    2.2 包含其表示范围内的部分小数(双精度);
    2.3 包含所有float;
    2.4 比float范围大,精度高。
3 decimal
    3.1 包含其表示范围内的全部整数;
    3.2 包含其表示范围内的部分小数(十进制精度);
    3.3 包含的小数集合与上述两者不同;
    3.4 范围最小,精度最高。
4 三个类型的官方说明如下图:


5 三个类型的区别如下图示:


6 有了上述说明后,不难理解《C#图解教程》中三种类型的相互转换:


7 因为浮点型变量是可以表示0的,个人认为判断是否给变量人为赋值了0,可以用“==”和0值进行比较。如果变量是经过计算得到的,计算机可能会用接近0的值来表示0,此时“==”来比较0就不适用了。

ngaicen 原创文章 6获赞 2访问量 3105 关注 私信 展开阅读全文
作者:ngaicen



C# DECIMAL DOUBLE float

需要 登录 后方可回复, 如果你还没有账号请 注册新账号