#include <iostream>
int main()
{
long long w_popn;
long long us_popn;
std::cout << "Enter the world's population: ";
std::cin >> w_popn;
std::cout << "Enter the population of the US: ";
std::cin >> us_popn;
std::cout << "The population of the US is " << float (us_popn/w_popn) << "% of the world population" << std::endl;
return 0;
}
我目前正在做一些来自 c++ primer plus 的练习题,我被困在我的代码中的最后一个 print 语句上。特别是我输入浮点数的部分(us_popn/w_popn)。有没有一种快速而肮脏的方法可以将结果转换为 cout 语句中的浮点数,而无需手动将结果存储在浮点变量中?我问这个是因为似乎在 cout 语句中的整数除法前面放置浮点数的类型转换似乎不会影响它,并且由于截断,我最终得到 0。
您必须在
除法之前强制转换操作数,否则将转换结果:
static_cast<float>(us_popn)/static_cast<float>(w_popn)