double test3 = 1/7;
NSLog(@"The value of test3 = %1.6f",test3);
结果:
The value of test3 = 0.000000
为什么不给它一个分数作为浮动值?它应该说:
The value of test3 = 0.142857
我做错了什么?
答案 0 :(得分:5)
您必须执行1.0 / 7.0
或1 / 7.0
或1.0 / 7
才能使编译器执行浮点除法。
1/7
是简单的整数除法,即0
。只有整数除法的结果被输出并存储在test3
中,如果两个参数都是整数,那么你将得到一个返回的整数。
要包含随机数(如评论中所述):
要在包含下限和上限之间生成一个随机数,请执行以下操作:
int randomNum = lowerBound + arc4random_uniform(upperBound - lowerBound);
请注意,应该使用arc4random_uniform(x)
(感谢rmaddy!),因为它优于arc4random() % x
和rand() % x
。