示例
//结果为0
CGFloat tFloat = 10/1000;
原因:
计算机中的运算有个原则:
相同数据类型的值才能进行运算,而且运算结果依然是同一种数据类型。因此,整数除于整数,求出来的结果依然是整数,会损失小数部分。
解决办法:
//结果为0.01
//1
CGFloat tFloat = (CGFloat)10/1000;
//2
CGFloat tFloat = (CGFloat)10.0/1000;
对结果进行了类型转换
10.0是浮点型,1000是整型,因此会将4自动类型提升为浮点型后再进行运算
网友评论