如何在我的输出中获得数字以显示较少的占位符?

1 c++ decimal

我是一名初学程序员,完成了Tony Gladdis开始使用C++(e7)的第2章.我正尽力自学.目前,我正在本章末尾处理挑战.我遇到的问题是我的输出显示的方式.使用我当前的代码,我的输出显示我的数字为54.6293,当我只想显示54.62时.有人可以告诉我如何在我的代码中指定创建我想要的输出?

/*编写一个计算税收的程序,并为一位顾客提供限制法案,费用为44.50美元.税收应为膳食成本的6.75%.添加税后,小费应为总额的15%.在屏幕上显示用餐成本,税额,小费金额和总账单*/

 #include <iostream>
    using namespace std;

    int main()
    {
        double Meal_Cost = 44.50,
            Total_After_Tax, Tax_Amount, Total_Bill, Total_Tip;
        const double TIP = 0.15,
            MEAL_TAX = 0.0675;

        // Calculate Tax_Amount
        Tax_Amount = Meal_Cost * MEAL_TAX;

        // Calculate Total_After_Tax
        Total_After_Tax = Tax_Amount + Meal_Cost;

        // Calculate Total_Tip
        Total_Tip = Total_After_Tax * TIP;

        // Calculate Total_Bill
        Total_Bill = Total_After_Tax + Total_Tip;

        // Display results
        cout << "The meal cost " << Meal_Cost << " dollars." << endl;
        cout << "The tax applied to the meal purchase was " << Tax_Amount << " dollars." << endl;
        cout << "The tip amount for the purchase was " << Total_Tip << " dollars." << endl;
        cout << "The total bill came to " << Total_Bill << " dollars." << endl;

        system ("PAUSE");
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

小智 5

是的,你可以这样做:

#include <iomanip>

...

cout << "The total bill came to " << std::setprecision(2) << std::fixed 
     << Total_Bill << " dollars." << endl;
Run Code Online (Sandbox Code Playgroud)

注意:不使用时std::fixed,precision是指显示的总位数.例如,55.使用时std::fixed,precision是指小数点显示的位数.例如,54.63.

有关详细信息,请参阅此问题.