C++的格式化输出之小数尾数

本文仅是个人想记录一下C++的某些用法,倘若以后忘了还能复习一下

浮点数的显示精度

    浮点数精度的含义取决于输出模式。在默认模式下,它指的是显示的总位数。在定点模式和科学模式下,精度指的是小数点后面的位数。C++的默认精度为6位。

float a = 130, b = 3.1456;

cout << a << endl; cout << b << endl;
// 设置输出的浮点数精度为小数点后两位小数:
// 1. 要让输出模式由默认转换到定点模式  2. 设置精度
cout.setf(ios_base::fixed, ios_base::floatfield); // 或者这句 也可以设置为“定点模式” cout << fixed;
cout.precision(2);
/*
 * 设置精度也可以用中的函数,如:
 * cout << setprecision(2) << a << "\n" << setprecision(2) << b << endl;
 */
cout << a << endl; cout << b << endl;
// 假如之后不需要精度控制了,再恢复之前的模式
cout.unsetf(ios_base::floatfield);
cout.precision(6);
cout << a << endl; cout << b << endl;

输出结果:

130
3.1456
130.00
3.15
130
3.1456

References
  • 《C++ Primer Plus 中文版 第六版》

你可能感兴趣的:(C/C++)