Qrand总是返回0

qrand is returning always 0

本文关键字:返回 Qrand      更新时间:2023-10-16

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

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

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

并在我的一个插槽中使用了以下代码:

       float prob = qrand() % 1;

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

知道是怎么回事吗?

谢谢

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

 float prob = (float) qrand() / (RAND_MAX+1); // 1 is exclusive