写文件
周期性将数据写入某个固定文件中,按照固定的格式,每一行数据类型相同,都是double类型。
A,B,C,D
A,B,C,D
A,B,C,D
#include <fstream>
#include <iostream>
//写入文件,以写模式打开文件
int main(void)
{
ofstream outfile;
outfile.open("data.txt",ios::out|ios::app);
if(outfile)
{
std::cout << "Start write data to file ";
//A B C D为double类型,需自己先行赋值
double A,B,C,D;
A = 123456.123456;
B = 123456.123456;
C = 1234.123456;
D = 1234.123456;
outfile <<fixed<<setprecision(6)<<A<<","<<B<<","<<C<<","<<D<<std::endl;
}
else
{
std::cout << "Open fail ";
}
outfile.close();
}
问题
在写入data.txt后,发现数据位数不完整,小数点后面出现了丢失。
setprecision函数的运用
可以引入setprecision函数来设定精度。
std::fixed<<std::setprecision(6); //保留小数点后6位小数。否则针对double类型,会采用科学计数法,保留6位有效数字。
——————
2022.01.26
软件园