sha*_*oga 14 objective-c cgfloat ios
这可能是一个简单的解决方案,但我无法解决它.
我正在划分2个整数:
finishedGameFinalScore = [score integerValue];
CGFloat interval = 2/finishedGameFinalScore;
NSLog(@"interval = %f",interval);
Run Code Online (Sandbox Code Playgroud)
日志返回 0.000000
小数位有限制吗?我需要保留小数结果.
谢谢Shani
Dus*_*tin 73
您的代码不起作用的原因是您将整数除以另一个整数,然后将结果转换为浮点数.
所以你有2(一个整数)和一些其他数字(也是一个整数).然后你用这个数除以2 - 这可能大于2.假设它是3.
Integer看到2/3,他就像"0.66666667?Pshh,无论如何都没有人需要小数点后的任何东西".所以他截断了它.你只有0.
然后Integer给先生float和先生的号码float是非常高兴得到一个号码!他都喜欢"yay,0!我将添加所有重要的数字".这就是你最终获得0.0000000的方式.
所以是的,先投入浮标.甚至是双倍!

Par*_*iya 13
@ 达斯汀说ü将需要强制转换的分频值浮动,因为它去浮法它显示整数值
案例1:Typecast
NSString *score = @"3";
int interval = [str intValue];
CGFloat interval = (2/(float)interval);
NSLog(@"interval = %.2f",interval);
Run Code Online (Sandbox Code Playgroud)
案例2:不需要进行类型转换
NSString *score = @"3";
float interval = [str floatValue];
CGFloat interval = (2/interval);
NSLog(@"interval = %.2f",interval);
Run Code Online (Sandbox Code Playgroud)
只需将f-hint添加到数字2中,在这种情况下即可.
CGFloat interval = 2.0f/finishedGameFinalScore;
Run Code Online (Sandbox Code Playgroud)
所有上述/下面的答案都是正确的,并充分解释了为什么这项工作.
| 归档时间: |
|
| 查看次数: |
9509 次 |
| 最近记录: |