在实际开发中,我们的数据可能很大,在现实数据时可能会显示科学计数法,而我们需要用定点小数显示。然而当我们设置格式之后,修改将一直有效,直至下次修改,因此考虑到数据的准确性,显示完之后应该重置格式信息,恢复到原始数据的状态。
int main()
{
using std::cout;
using std::ios_base;
double a = 54456456153.2655445648;//原始数据
cout << a << endl;//输出5.44565e+10
//显示定点小数,并记录原始格式信息用以恢复
ios_base::fmtflags orig = cout.setf(ios_base::fixed, ios_base::floatfield);
std::streamsize prec = cout.precision(3);
cout << "a=" << a << endl;//输出a=54456456153.266
cout.precision(2);
cout << a << endl;//输出54456456153.27
//恢复格式
cout.setf(orig, ios_base::floatfield);
cout.precision(prec);
cout << a << endl;//输出5.44565e+10
system("pause");
return 0;
}