我目前正在为我的C ++课程开发一个项目,并遇到了一个我似乎无法自己解决的问题。
我正在创建一个重量转换程序,要求用户输入它们的重量(以千克为单位),并输出它们的重量(以磅为单位)以及它们输入的重量(以千克为单位)(均四舍五入到小数点后两位)。
这是我的代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
//Declarations
double kg = 0.0;
double lbs = 0.0;
double conversionRate = 2.2;
//INPUT
cout << "Enter Your Weight (kilograms): ";
cin >> kg;
//PROCESS
lbs = (kg * conversionRate);
//OUTPUT
cout << "Weight Entered: " << setprecision(2) << kg << " Kg" << endl;
cout << "Converts to: " << setprecision(2) << lbs << " lbs" << endl;
cout << "\n\n";
system("pause");
return 0;
}
这是我得到的输出数:
这些是调试时的变量值:
我似乎无法弄清楚为什么它会输出屏幕截图中显示的数据,以及为什么它不显示小数位?以及千克?
感谢任何帮助!
答案 0 :(得分:2)
你需要使用固定的。
要么做一个
cout.precision(2);
cout << "Weight Entered: " << fixed << kg << " Kg" << endl;
cout << "Converts to: " << fixed << lbs << " lbs" << endl;
或更像你做的
cout << "Converts to: " << fixed << setprecision(2) << lbs << " lbs" << endl;
输出到:
重量输入:63.5028
There is a linked case here linked to this case
干杯 了Stian
答案 1 :(得分:1)
你想做
cout&lt;&lt;固定&lt;&lt; showpoint&lt;&lt; setprecision(2)&lt;&lt; lbs&lt;&lt; &#34;磅&#34; &LT;&LT; ENDL;