基本上,如果我写这样的东西 -
float a = 0;
a = (float) 1/5;
a += (float) 1/9;
a += (float) 1/100;
逗号后会自动将精度降低到2位数,但逗号后需要5位数,是否可以创建,所以显示5位数?使用setprecision(5),只需在逗号后显示00000。
输入文件中的所有数据都很好。
答案 0 :(得分:4)
setprecision
不要修改值。使用ofstream
答案 1 :(得分:1)
你必须像这样使用setprecision:
cout << setprecision (5) << a << endl;
http://www.cplusplus.com/reference/iostream/manipulators/setprecision/
编辑:我暂时没有使用过C ++,但是你可能会遇到一些问题,因为你正在进行integer
除法,然后将结果转换为{{1} }}。尝试这样做而不是强制float
分裂:
float
答案 2 :(得分:0)
答案 3 :(得分:0)
这将在逗号之后给出5位数字:
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argi, char** argc) {
float a = 0;
a = (float) 1/5;
a += (float) 1/9;
a += (float) 1/100;
cout << setprecision(5) << a << endl;
return 0;
}
如果你想在输出上总是有5位数,可以使用:
cout << setprecision(5) << setfill ('0')<< setw(5) << a << endl;