qrand总是返回0

时间:2014-06-21 14:11:14

标签: c++ qt

我需要获得0到1之间的随机数。 如0.54321,0.8912,0.1234342,0.0000123等

我把这段代码放在我的main和Application构造函数中:

       qsrand(QDateTime::currentDateTime().toTime_t());

在我的一个插槽中使用此代码:

       float prob = qrand() % 1;

我尝试了int,double作为返回值,但它总是返回0.

任何想法发生了什么?

由于

1 个答案:

答案 0 :(得分:4)

qrand()生成0RAND_MAX之间的整数,每个数字都可以被1完全整除,余数为0。试试这个:

 float prob = (float) qrand() / (RAND_MAX+1); // 1 is exclusive
相关问题