假设我有以下程序,在该程序中,我打印小数点0.1234和0.5,然后格式化输出,使其只给出2个小数位。然后,我打印出一些十进制数字。
#include <iostream>
#include <iomanip>
int main() {
// print out 2 decimals of different lengths
std::cout << 0.1234 << " " << 0.5 << std::endl;
// format output
std::cout << std::fixed << std::setprecision(2);
for (int i = 0; i < 5; i++)
std::cout << i / 7.0 << std::endl;
// print out a decimal with 4 significant figures
std::cout << 0.9876 << std::endl; // this line
return 0;
}
代码提供以下输出:
0.1234 0.5
0.00
0.14
0.29
0.43
0.57
0.99
对于显示std::cout << 0.9876 << std::endl;
的行,我希望它打印出0.9876,就像第一行打印出0.1234一样。
我知道我可以使用std::fixed
来颠倒std::defaultfloat
,但是如何颠倒setprecision?
我不想在代码中使用特定数字,因此C ++是否具有默认值?例如std::cout << std::setprecision(FLOAT_DEFAULT) << std::endl;
?
非常感谢你们!