static_cast 不起作用。 C风格的演员作品。如何修复static_cast?
static_cast doesn't work. C style cast works. How to repair static_cast?
它工作正常:
srand(time(NULL));
cout<<(double)rand()/RAND_MAX<<endl;
没用:
srand(time(NULL));
cout<<static_cast<double>(rand()/RAND_MAX)<<endl;
为什么?如何解决?
(double)rand()/RAND_MAX
这里你只投rand()
号。所以在你的代码中它也应该是这样的:
static_cast<double>(rand())/RAND_MAX
在您的示例中,您将两个 int
分开,然后将其转换为 double
。
它工作正常:
srand(time(NULL));
cout<<(double)rand()/RAND_MAX<<endl;
没用:
srand(time(NULL));
cout<<static_cast<double>(rand()/RAND_MAX)<<endl;
为什么?如何解决?
(double)rand()/RAND_MAX
这里你只投rand()
号。所以在你的代码中它也应该是这样的:
static_cast<double>(rand())/RAND_MAX
在您的示例中,您将两个 int
分开,然后将其转换为 double
。