当我运行程序时,setprecision
会处理所有变量。我试图让变量 secondsinput
成为一个整数。我已经尝试将该变量设置为 int 但这搞砸了数学。有什么想法吗?
using namespace std;
int main()
{
double outputminutes, outputhours, outputdays, secondsinput;
cout << "Please enter the number of seconds: ";
cin >> secondsinput;
cout << endl;
outputminutes = secondsinput / 60;
outputhours = secondsinput / 3600;
outputdays = secondsinput / 86400;
cout << setprecision(2) << fixed;
if (secondsinput > 60 && secondsinput < 3600)
cout << secondsinput << " seconds is "
<< outputminutes << " minutes."
<< endl << endl;
else if (secondsinput > 3600 && secondsinput < 86400)
cout << secondsinput << " seconds is "
<< outputhours << " hours."
<< endl << endl;
else if (secondsinput > 86400)
cout << secondsinput << " seconds is "
<< outputdays << " days."
<< endl << endl;
}
最佳答案
将 secondsinput
设为 int
,因为这是您希望它输入和显示的方式。只需修复数学。例如:
outputminutes = secondsinput / 60.0;
outputhours = secondsinput / 3600.0;
outputdays = secondsinput / 86400.0;
或
outputminutes = static_cast<double>(secondsinput) / 60;
outputhours = static_cast<double>(secondsinput) / 3600;
outputdays = static_cast<double>(secondsinput) / 86400;
关于c++ - 在 C++ 帮助中使用 setprecision(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19202845/