如何阻止C++从舍入到最近整数 我正在做一个圆柱计算器的区域,由于某种原因,C++是舍入到最近的数字,这是我的代码: int volume() { int radius; int height; double long volume; double pi; pi = 3.14; cout << "Enter Radius: "; cin >> radius; cout << "Enter height: "; cin >> height; volume = radius * radius * height * pi; return volume; } int main() { cout << "Formula Calculator \n"; cout << "The volume is " << volume(); return 0; }

如何阻止C++从舍入到最近整数 我正在做一个圆柱计算器的区域,由于某种原因,C++是舍入到最近的数字,这是我的代码: int volume() { int radius; int height; double long volume; double pi; pi = 3.14; cout << "Enter Radius: "; cin >> radius; cout << "Enter height: "; cin >> height; volume = radius * radius * height * pi; return volume; } int main() { cout << "Formula Calculator \n"; cout << "The volume is " << volume(); return 0; },c++,cmath,C++,Cmath,它总是将答案舍入到最接近的整数。请帮助: double long volume() { int radius; //Radius of a cylinder int height; //Height of a cylinder double long volume; //The resulting volume of the cylinder double pi = 3.14; //The constant pi

它总是将答案舍入到最接近的整数。请帮助:

double long volume()
{
    int radius;           //Radius of a cylinder
    int height;           //Height of a cylinder
    double long volume;   //The resulting volume of the cylinder
    double pi = 3.14;     //The constant pi

    cout << "Enter Radius: ";
    cin >> radius;        //User inputs radius of cylinder
    cout << "Enter height: ";
    cin >> height;        //User inputs height of cylinder
    volume = radius *  radius * height * pi ; // v = (pi)(h)(r)^2

    return volume;
}
int main ()
{
    cout << "Formula Calculator \n";
    cout << "The volume  is " << volume();

    return 0;
}

我发现的唯一问题是你的函数声明。您使用int而不是用于声明结果卷的double long。同时从主函数的cvolume中删除c。

该函数返回一个整数,并截断小数

double long volume()
{
  int radius;
  int height;
  double pi;
  pi = 3.14;
  cout << "Enter Radius: ";
  cin >> radius;
  cout<< "Enter height: ";
  cin >> height;

 return (radius *  radius * height * pi);
}
int main ()
{
  cout << "Formula Calculator \n";
  cout << "The volume  is " << volume();
  return 0;
    } 

因为您告诉它返回一个int:int volume您的volume函数返回一个int。所以您需要一些舍入。将返回类型更改为双重-请参见“同时查看”部分。我更改了它,它成功了,谢谢大家。