qt 在一定范围内生成随机小数
时间: 2023-08-14 08:59:37 浏览: 182
您好!对于在一定范围内生成随机小数,您可以使用 Qt 的 QRandomGenerator 类和 QRandomGenerator::generateDouble() 函数来实现。以下是一个示例代码:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QRandomGenerator>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
double minValue = 0.0;
double maxValue = 1.0;
// 设置随机数种子
QRandomGenerator::global()->seed(QDateTime::currentMSecsSinceEpoch() / 1000);
// 生成随机小数
double randomValue = QRandomGenerator::global()->generateDouble();
double scaledValue = minValue + randomValue * (maxValue - minValue);
qDebug() << "随机小数:" << scaledValue;
return a.exec();
}
```
在上面的示例代码中,我们首先设置了最小值和最大值,然后使用 `QRandomGenerator::global()` 获取全局的随机数生成器,并通过 `seed()` 函数设置随机数种子。接下来,我们调用 `generateDouble()` 函数生成一个范围在 [0.0, 1.0) 的随机小数,并通过简单的线性映射将其缩放到指定的范围内。
注意:为了获得更好的随机性,我们使用当前时间的毫秒数作为随机数种子。如果您需要在同一次运行中生成多个随机数,请在生成每个随机数之前调用 `seed()` 函数。