我是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 –