参考了https://www.cnblogs.com/weedboy/p/6831678.html博客。
我现在遇到的问题是:想用C++实现输出结果保留指定的位数,在C语言上能很容易实现如:printf("%2f")。但是C++突然一片空白了,通过查博客,实现方式如下:
需要加头文件#include
- setprecision()来用来保存有效数字,fixed和setprecision()一起用就变成保存小数点后有效数字。
- fixed 可以通过 cout.unsetf(ios::fixed); 这段代码关掉。不然会一直开着。
- fixed有个地方需要注意的是可以保存的有效数字包括0,不开fixed的话,即使保存3个有效数字,小数点后的0也会自动省略。即 1.2要是setprecision(3) 结果还是1.2 而不是1.20. 所以通常想要像在printf()中一样使用,都是要开fixed的!
代码如下:
float a, b, c;
cout << “输入a,b,c” << endl;
cin >> a >> b >> c;
if (bb - 4 * ac >= 0)
{
cout <<fixed<<setprecision(2) << -(b / a);
cout << “两根之积为:” << setprecision(2) << c/a << endl;
cout.unsetf(ios::fixed);
}
这样就实现了,小数的指定位数。