如何在C ++中使用setprecision

时间:2014-03-19 18:55:53

标签: c++

我是C++的新用户,我只想输出最多2位数的点数。 就像数字是3.444一样,那么输出应该是3.44,或者如果数字是99999.4234,那么输出应该是99999.42,我该怎么做。价值是动态的。这是我的代码。

#include <iomanip.h>
#include <iomanip>
int main()
{
    double num1 = 3.12345678;
    cout << fixed << showpoint;
    cout << setprecision(2);
    cout << num1 << endl;
}

但它给了我一个错误,未定义的固定符号。

8 个答案:

答案 0 :(得分:26)

#include <iomanip>
#include <iostream>

int main()
{
    double num1 = 3.12345678;
    std::cout << std::fixed << std::showpoint;
    std::cout << std::setprecision(2);
    std::cout << num1 << std::endl;
    return 0;
}

答案 1 :(得分:6)

#include <iostream>
#include <iomanip>
using namespace std;

为方便起见,您可以输入行using namespace std;。否则,每次您希望使用std::coutfixedshowpointsetprecision(2)时,您都必须明确添加endl < / p>

int main()
{
    double num1 = 3.12345678;
    cout << fixed << showpoint;
    cout << setprecision(2);
    cout << num1 << endl;
return 0;
}

答案 2 :(得分:2)

上面的答案绝对正确。这是Turbo C ++版本。

#include <iomanip.h>
#include <iostream.h>

void main()
{
    double num1 = 3.12345678;
    cout << setiosflags(fixed) << setiosflags(showpoint);
    cout << setprecision(2);
    cout << num1 << endl;
}

对于fixedshowpoint,我认为应该使用setiosflags函数。

答案 3 :(得分:1)

  

替换这些标题

#include <iomanip.h>
#include <iomanip>
  

有了这些。

#include <iostream>
#include <iomanip>
using namespace std;

多数民众赞成...... !!!

答案 4 :(得分:1)

std::cout.precision(2);
std::cout<<std::fixed;

当你使用运算符重载时,试试这个。

答案 5 :(得分:0)

#include <bits/stdc++.h>                        // to include all libraries 
using namespace std; 
int main() 
{ 
double a,b;
cin>>a>>b;
double x=a/b;                                 //say we want to divide a/b                                 
cout<<fixed<<setprecision(10)<<x;             //for precision upto 10 digit 
return 0; 
} 

输入:1987年31

输出:662.3333333333小数点后10位

答案 6 :(得分:0)

#include <iostream>
#include <iomanip>
 
int main(void) 
{
    float value;
    cin >> value;
    cout << setprecision(4) << value;
    return 0;
}

答案 7 :(得分:-1)

下面的代码正确运行。

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    double num1 = 3.12345678;
    cout << fixed << showpoint;
    cout << setprecision(2);
    cout << num1 << endl;
}