有时会遇到向文件中写入一定格式的浮点数,为了对齐美观,常常采用控制小数点后的位数并用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):一起控制小数点后有几位
欢迎批评指正