我是C++和一般編程的新手。我正在嘗試一些小程序,只是爲了弄髒我的手。以下是我爲計算錐體的體積而創建的程序。C++浮點問題
問題:無論我做什麼輸出總是一個整數。我想把它精確到兩位小數點。我試過把變量加倍和加倍,以獲得更高的精度,沒有任何工作。
我該如何解決這個問題?爲什麼會發生這種情況? (詳細如有可能)到目前爲止,我甚至在UNi問了很多初級講師,沒有人給我一個正確的答案。
int main(){
float radius,length,volume ;
const float PI =22/7.0f;
cin >> radius >> length;
volume =1/3.0f *radius*radius*length;
cout << "Volume is " << volume <<endl;
return 0;
}
我在Fedora
EDIT使用克++:我想這earlyer具有輸入像50 60/70一百二十零分之五十〇40其給出整數。較小的輸入如3 4給出小數。
編輯:setprecision()的作品。感謝大家發送這個
該代碼打印大量小數。 (而且PI的近似值很弱。) – Mat
OMG,它是真的O.O http://thedailywtf.com/Articles/The-Object-Test,-a-New-PI,-and-More-SHEEIT.aspx –