想要找到如何格式化arc4Random()
的来电以使用从-10到10的数字范围。
或者arc4Random()
只生成从0到X?如果是这种情况,我需要操纵arc4Random()
的结果,以便它可能是指定范围内的结果?
答案 0 :(得分:6)
arc4random
返回u_int32_t
,这是一种无符号类型。您需要将其转换为有符号的类型,然后减去。
我假设您想要一个从-10到+10的数字(有时你想要选择-10和+10)。
如果您的目标是iOS 4.3或更高版本,或Mac OS X 10.7或更高版本,则应使用arc4random_uniform
功能:
int myNumber = (int)arc4random_uniform(21) - 10;
如果您要定位较旧的操作系统,则必须使用arc4random
:
int myNumber = (int)(arc4random() % 21) - 10;