有时会遇到向文件中写入一定格式的浮点数,为了对齐美观,常常采用控制小数点后的位数并用0补齐缺少的位数的方法。
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main(){
double pi=3.14;
ofstream outfile;
outfile.open("test.txt",ios::out|ios::trunc);
if(outfile){
outfile<<setw(7)<<setfill(‘0’)<<setiosflags(ios::fixed)<<setprecision(6)<<pi<<endl;
}
outfile.close();
return 0;
}
最终test.txt
中被写入的数据为3.140000
拓展阅读
setw(n):控制域宽为n个字符,默认用空格补齐
setfill(ch):设置setw缺少的字符
setiosflags(ios::fixed)与setprecision(n):一起控制小数点后有几位
欢迎批评指正