使用Set Precision C ++添加小数

时间:2015-09-17 02:14:41

标签: c++

我正在设计一个使用二次公式计算2个根的程序。我正在尝试将输出语句root1root2输出,并将数字输出为两位小数(即2.00,5.00等)。但是,当我使用setprecision命令时,它似乎不起作用。例如,当我输入三个点为(1,-1,2)时,我得到的点数(2,-1),而不是(2.00,-1.00),就像我正在寻找的那样。

这是我的代码:

#define _USE_MATH_DEFINES // for C++
#include <cmath>
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    double pointa;
    double pointb;
    double pointc;
    double discriminant1;
    double root1;
    double root2;

    cout << "Please enter a, b and c: ";
    cin >> pointa;
    cin >> pointb;
    cin >> pointc;

    discriminant1 = pow(pointb, 2) - (4 * pointa * pointc);

    root1 = (-pointb + sqrt(discriminant1)) / (2 * pointa);
    root2 = (-pointb - sqrt(discriminant1)) / (2 * pointa);

    std::cout << "Root1: " << std::setprecision(3) << root1 << endl;
    std::cout << "Root2: " << std::setprecision(3) << root2 << endl;
    return 0;
}

1 个答案:

答案 0 :(得分:1)

输出std::fixed

选择定点格式