我试图使用static_cast
将2个整数转换为浮点数。问题是,当我进行数学计算时,我得到4而不是4.00。
下面我已经做了一个代码示例。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
int num = 4,
den = 1;
cout << static_cast<float>(num) / static_cast<float>(den);
}
如果我做错了,请说明我的错误。另外请提一下如果有办法获得4.00而不只是4?
答案 0 :(得分:2)
结合Nathan和Eelke所写的内容,
使用浮点格式标志fixed以及iomanip库中提供的setprecision参数操纵器。
在所需的更改之后,以下是您的代码看起来的样子:`
#include <iostream>
#include <iomanip>
int main()
{
int num = 4,
den = 1;
std::cout << std::fixed << std::setprecision(2) <<
static_cast<float>(num) / static_cast<float>(den);
return 0;
}