Dyl*_*guy -1 math integer objective-c division
可能重复:
C中整数除法的行为是什么?
当我使用应该在1和0之间的答案进行除法计算时,它总是返回0.
试试这个:
float a = 1;
float b = 2;
float c = a / b; //variable divide by variable gives 0.5 as it should
float d = 1 / 2; //number divide by number gives 0
float e = 4 / 2;
NSLog(@"%f %f %f %f %f", a,b,c, d, e);
Run Code Online (Sandbox Code Playgroud)
我从控制台得到这个:
2013-01-17 14:24:17.512 MyProject [1798:c07] 1.000000 2.000000 0.500000 0.000000 0.500000
我不知道发生了什么事.
你将整数除以整数.结果将是一个整数,其余部分被省略:
1 / 2 = 0 The remainder (0.5) is omitted.
Run Code Online (Sandbox Code Playgroud)
只有在除法完成后,您的结果才会传递到您的float d变量中.
编辑:对,我忘了建议一个解决方案:确保至少有一个操作数是浮点数.
1.0 / 2 = 0.5
Run Code Online (Sandbox Code Playgroud)
1 / 2.0 = 0.5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2207 次 |
| 最近记录: |