重量转换输出问题

时间:2014-09-20 01:57:27

标签: c++

我目前正在为我的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;
}

这是我得到的输出数:

enter image description here

这些是调试时的变量值:

enter image description here

我似乎无法弄清楚为什么它会输出屏幕截图中显示的数据,以及为什么它不显示小数位?以及千克?

感谢任何帮助!

2 个答案:

答案 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 enter image description here

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;