【发布时间】:2016-01-29 15:20:40
【问题描述】:
这是此页面上答案的后续问题:
How to generate random double numbers with high precision in C++?
#include <iostream>
#include <random>
#include <iomanip>
int main()
{
std::random_device rd;
std::mt19937 e2(rd());
std::uniform_real_distribution<> dist(1, 10);
for( int i = 0 ; i < 10; ++i )
{
std::cout << std::fixed << std::setprecision(10) << dist(e2) << std::endl ;
}
return 0 ;
}
答案很好,但我很难意识到如何将此代码的输出放在双变量中,而不是将其打印到stdout。有人可以帮忙吗?
谢谢。
【问题讨论】:
-
你试过
some_variable = dist(e2);吗? -
如果我只运行“double var = dist(e2);”它只给出 6 位数字...
-
那么你应该在问题中表明这一点。现在还不清楚你在问什么。
-
hmm... 变量是否仍然包含其余数字,而 std::setprecision(10) 只是设置 std::cout 打印多少?
标签: c++