[英]C++, output of one digit after the decimal
我是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;
}
cout
的默認行為是打印六個有效數字的浮點數。 您可以使用以下方法進行更改:
cout.precision(10);
cout << alt << endl;
它給出了輸出:
12019.2925
這似乎是正確的解決方案。
您不應嘗試將精度設置為大約高於15的任何值,因為這大約是double類型的精度極限(通常)。 您可以使用<limits>
的numeric_limits<double>::digits10
來確保實際具有的精度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.