float floatNumber = 3.14;
int intNumber = (int)floatNumber;
NSLog(@"floatNumber = %.2f",floatNumber);
NSLog(@"intNumber = %d",intNumber);
//float类型被转换为int类型,3.14变成了3
int intNumber1 = 5;
int intNumber2 = 2;
int halfInt = intNumber1/intNumber2;
float halfFloat = intNumber1/intNumber2;
NSLog(@"halfInt = %d",halfInt);
NSLog(@"halfFloat = %.2f",halfFloat);
//运算结果的类型取决于“运算时”被除数和除数的类型,无论是int/float还是float/int,结果都保留float
float halfFloat2 = (float)intNumber1/(float)intNumber2;
NSLog(@"halfFloat2 = %.2f",halfFloat2);
//运算前转换类型,能得到结果为float,(float)intNumber1/intNumber2 和 intNumber1/(float)intNumber2结果是一样的
如果要转换类型,最好在运算前转换数据类型
(float)intNumber1/intNumber2 和 intNumber1/(float)intNumber2的结果一样,那不同之处是什么?
本文探讨了Objective-C中浮点数与整数之间的转换规则,以及不同类型数值进行运算时的结果类型依赖于操作数的数据类型。通过具体示例说明了如何在运算前转换数据类型以获得预期的浮点结果。

被折叠的 条评论
为什么被折叠?



