如何在cpp中仅针对浮点数使用setprecision

How to use setprecision in cpp for only the number of floating points

当计算一个带浮点数的数字时,即 31.14159,我如何设置 cout 以在浮点上使用 setprecision(4):

cout <<setprecision(4)<< 31.14159<<endl; // returns 31.14

按原样,它考虑带小数位的整数,并输出:31.14。但是,我想得到:31.1416.

std::fixed 表示小数点后会有固定的小数位数。

std::cout << std::setprecision(4) << std::fixed << 31.14159;

- 这将打印 31.1416

您可以使用std::fixed

std::cout << std::fixed << std::setprecision(4) << 31.14159 << endl ;

你会得到输出 31.1416

当你加上std::fixed时,std::setprecision(4)会对小数部分生效,因此你会得到小数点后的4个值。

一个std::setprecision()将对整个号码生效。但是当你加上一个 std::fixed 时,std::setprecision() 只会影响数字的小数部分。