c ++类型转换算术运算

时间:2014-12-16 07:22:22

标签: c++

 #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。

1 个答案:

答案 0 :(得分:0)

你必须在分裂之前施放操作数,否则你将投射结果:

static_cast<float>(us_popn)/static_cast<float>(w_popn)