个人对此三个数的理解:
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就不适用了。