C++中,如何输出有效位数
在C++中,使用cout怎样输出有效位数?如,对于一个单精型常量,我要输出2位有效数字,该怎样写?
请帮帮我,先谢了。
----------------解决方案--------------------------------------------------------
头文件<iomanip>
setprecision(n) 函数
如:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
float f;
cin>>f;
cout<<setprecision(2)<<f/3<<endl;
return 0;
}
----------------解决方案--------------------------------------------------------
补充下,如果要精确到小数点后二位,则应表示为:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
float f;
cin>>f;
cout<<fixed<<showpoint;
cout<<setprecision(2)<<f<<endl;
return 0;
}
----------------解决方案--------------------------------------------------------
用C的方法也可以
头文件包含<cstdio>
然后使用printf和C语言的一样
----------------解决方案--------------------------------------------------------
谢谢各位了!~~~
我想问问,setprecision()与precicion()的区别仅仅是它们的输出方式不同吗?
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
float f;
cin>>f;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);//这一句有没有都是有小数点的,在什么情况下它不能省掉。
cout<<setprecision(2)<<f<<endl;//这一句和下两句的输出是一样的,他们都是以小数点开始计有效位数的,都是四舍五入的原则。有没有不同之处?
cout.precision(2);
cout<<f<<endl;
return 0;
}
----------------解决方案--------------------------------------------------------
setprecision()是包含在imanip头文件的,而precision()是包含在iostream头文件里。
----------------解决方案--------------------------------------------------------