[英]How to change/control the output precision in gcc or g++?
我有以下用c ++編寫並由g ++ 4.8編譯的代碼。
double x = 0.123456789;
cout << x << endl;
我不明白為什么我只能得到輸出
0.1234567
即使我將x定義為long double x
。 這可能是一個非常幼稚的問題,但有人可以給我帶來一些幫助嗎?
此頁面有你所需要的,即你應該使用std::setprecision
流處理器。
double x = 0.123456789;
std::cout << std::setprecision(10) << x << std::endl;
使用precision
函數或setprecision
操縱器設置有效數字的數量(如果還使用fixed
,則設置為小數位)。
cout.precision(10); // 10 significant figures
要么
cout << setprecision(10); // also 10 significant figures
要么
cout << fixed << setprecision(10); // always fixed-point format, 10 decimal places
缺省情況下,精度為6。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.