求教:VC++数据处理精度丢失问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 10:23:51
long double m,n;
long double a[3]={579955.551,3062505.953,3851.220};
ofstream out("bbb.txt");
m=a[0]-579000.000;
n=a[1]-3060000.000;
out<<m<<endl<<n<<endl;
输出结果丢失了精度,求大侠帮助如何才能既能进行上述运算,又能保留原有的精度,小弟在这先谢过了。

long double m,n;
long double a[3]={579955.551,3062505.953,3851.220};
m=a[0]-579000.000;
n=a[1]-3060000.000;
FILE *stream;
stream=fopen("bbb.txt","w+");
if(stream==NULL)
{MessageBox("计算结果的文件创建失败","提示");
return;
}
fprintf(stream,"%lf\t%lf\t\n",m,n);
fclose(stream);

这里用文件格式化输出语句fprintf 你试试