double test3 = 1/7;
NSLog(@"The value of test3 = %1.6f",test3);
Run Code Online (Sandbox Code Playgroud)
结果:
The value of test3 = 0.000000
为什么它不会给我一个浮动值的分数?它应该说:
The value of test3 = 0.142857
我究竟做错了什么?
你所要做的1.0 / 7.0或者1 / 7.0或1.0 / 7编译器做浮点除法.
1/7是简单的整数除法,即0.只有整数除法的结果被存储和存储,test3并且如果两个参数都是整数,那么你将得到一个返回的整数.
要包含随机数(如评论中所述):
要在包含低位和独占上限之间生成随机数,请执行以下操作:
int randomNum = lowerBound + arc4random_uniform(upperBound - lowerBound);
Run Code Online (Sandbox Code Playgroud)
请注意,应该使用arc4random_uniform(x)(感谢rmaddy!)因为它优于arc4random() % x和rand() % x.
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |