当前位置: 代码迷 >> C语言 >> C++中,如何输出有效位数
  详细解决方案

C++中,如何输出有效位数

热度:404   发布时间:2007-12-09 13:59:28.0
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头文件里。
----------------解决方案--------------------------------------------------------
  相关解决方案