1.存储精度的问题
float 和 double 都不能保证精确的存储每一个小数, 浮点数存放的只是一个近似值。
面试题:如何判断一个浮点型变量x的值是否是0?
答:if(|x-0.000001|<=0.000001)-->x=0
2.为什么循环更新的变量不能定义成浮点型?
由于浮点型存储的是一个近似值,所以在进行循环的判断条件的求值的时候,其值会影响判断条件的结果。
比如说:i<=100,如果这个时候i的值是100.000001,于是这一步就没有加入循环,这个时候就会影响整个循环的执行,我们更新部分的值只能是一个整数。
3.强制类型转换
格式:(数据类型)(表达式)
eg:(float)(5) == 5.00000