Ios 两个数字之间的随机浮动?

Ios 两个数字之间的随机浮动?,ios,random,floating-point,Ios,Random,Floating Point,我目前有一种方法试图在我提供的两个数字之间获得一个随机浮点数,但是,它不能正常工作 例如,如果输入4.0作为较低的浮点值,输入4.5作为较高的浮点值,则得到的结果类似于0.8或1.2,有时介于这两个数字之间。所以这让我相信这种方法是不好的。方法如下: - (float)randomFloatBetween:(float)num1 andLargerFloat:(float)num2 { return ((float)arc4random() / ARC4RANDOM_MAX) * num

我目前有一种方法试图在我提供的两个数字之间获得一个随机浮点数,但是,它不能正常工作

例如,如果输入4.0作为较低的浮点值,输入4.5作为较高的浮点值,则得到的结果类似于0.8或1.2,有时介于这两个数字之间。所以这让我相信这种方法是不好的。方法如下:

- (float)randomFloatBetween:(float)num1 andLargerFloat:(float)num2 {
    return ((float)arc4random() / ARC4RANDOM_MAX) * num2-num1 + num1;
}
这是ARC4RANDOM_MAX

#define ARC4RANDOM_MAX 0x100000000
不管怎么说,是什么原因造成的,我怎样才能解决这个问题

谢谢

您的代码的意思是:

return (((float)arc4random() / ARC4RANDOM_MAX) * num2) - num1 + num1;
num2-num1
周围需要括号:

return ((float)arc4random() / ARC4RANDOM_MAX) * (num2-num1) + num1;

你能解释一下你的意思吗?