输出双通道C++; 当我试图输出双时,我的C++控制台应用程序有问题,它从向量int计算出来,它显示我的代码< 0 > /代码> < /p> for (int i = 0; i < max_streak_length; i++) { cout<< "data win streak of " << i << " acheived : " << gamesData[i]; cout<< " Propallty \t "<< gamesData[i]/(gamesData[0] + gamesData[1])<<endl; }

输出双通道C++; 当我试图输出双时,我的C++控制台应用程序有问题,它从向量int计算出来,它显示我的代码< 0 > /代码> < /p> for (int i = 0; i < max_streak_length; i++) { cout<< "data win streak of " << i << " acheived : " << gamesData[i]; cout<< " Propallty \t "<< gamesData[i]/(gamesData[0] + gamesData[1])<<endl; },c++,cout,C++,Cout,向量是否包含double或ints 它似乎包含ints,如果是这种情况,则需要转换为double: static_cast<double>(gamesData[i])/(gamesData[0] + gamesData[1]) static_cast(gamesData[i])/(gamesData[0]+gamesData[1]) 当您使用类型int执行计算时,您总是会得到类型int的结果。我认为gamesData[I]中的元素类型是int。如果要获得3/2的结果,结果是1,因

向量是否包含
double
int
s

它似乎包含
int
s,如果是这种情况,则需要转换为double:

static_cast<double>(gamesData[i])/(gamesData[0] + gamesData[1])
static_cast(gamesData[i])/(gamesData[0]+gamesData[1])

当您使用类型
int
执行计算时,您总是会得到类型
int
的结果。我认为
gamesData[I]
中的元素类型是
int
。如果要获得
3/2
的结果,结果是1,因为
int/int
的结果是
int
。如果你想获得双重数据,你需要使用
double(gamesData[i])/(gamesData[0]+gamesData[1])
。在这种情况下,结果的类型取决于分子的类型。

(静态施法(gamesData[i])/(gamesData[0]+gamesData[1])
static_cast<double>(gamesData[i])/(gamesData[0] + gamesData[1])