我需要获得0到1之间的随机数。 如0.54321,0.8912,0.1234342,0.0000123等
我把这段代码放在我的main和Application构造函数中:
qsrand(QDateTime::currentDateTime().toTime_t());
在我的一个插槽中使用此代码:
float prob = qrand() % 1;
我尝试了int,double作为返回值,但它总是返回0.
任何想法发生了什么?
由于
答案 0 :(得分:4)
qrand()
生成0
到RAND_MAX
之间的整数,每个数字都可以被1
完全整除,余数为0
。试试这个:
float prob = (float) qrand() / (RAND_MAX+1); // 1 is exclusive