工作正常:
srand(time(NULL));
cout<<(double)rand()/RAND_MAX<<endl;
不起作用:
srand(time(NULL));
cout<<static_cast<double>(rand()/RAND_MAX)<<endl;
为什么呢?如何解决?
答案 0 :(得分:0)
(double)rand()/RAND_MAX
此处您只会投放rand()
个号码。所以在你的代码中它也应该是这样的:
static_cast<double>(rand())/RAND_MAX
在您的示例中,您将两个int
分开,然后将其转换为double
。