C ++,小数点后一位数的输出

时间:2014-02-05 23:02:58

标签: c++

我是C ++的新手,希望得到一些帮助。 我不明白为什么我在下面的总和上得到小数点后只有一位数的输出。 我试图解决这个问题但没有成功。

int main()
{
    double alt, t; 
    t = 4.5;
    // function for calculating the altitude over time.
    alt = (-0.12)*pow(t, 4) +(12.0)*pow(t, 3) -(380.0)*pow(t, 2) +(4100.0)*t +220.0;
    cout << alt << endl;
    return 0;
}

1 个答案:

答案 0 :(得分:0)

cout的默认行为是打印浮点的六位有效数字。您可以使用以下内容进行更改:

cout.precision(10);
cout << alt << endl;

给出输出:

12019.2925

这似乎是正确的解决方案。

您不应该尝试将精度设置为高于大约15的任何值,因为这大约是double类型的精度限制(通常)。您可以使用numeric_limits<double>::digits10中的<limits>来确定您实际拥有的精度。