#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语句中。特别是我输入 float(us_popn / w_popn)的部分。是否有一种快速而肮脏的方法将结果转换为cout语句中的浮点数而无需手动将结果存储在float变量中?我问这个是因为似乎在cout语句中在整数除法之前放置一个浮点数类型似乎不会影响它,我最终因截断而得到0。
答案 0 :(得分:0)
你必须在分裂之前施放操作数,否则你将投射结果:
static_cast<float>(us_popn)/static_cast<float>(w_popn)