如何阻止 C++ 四舍五入到最接近的整数
How to stop c++ from rounding to closest integer
我正在做一个圆柱计算器的面积,出于某种原因,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;
}
它总是将答案四舍五入到最接近的整数请帮助:(
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;
}
我正在做一个圆柱计算器的面积,出于某种原因,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;
}
它总是将答案四舍五入到最接近的整数请帮助:(
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;
}