期待将最终答案四舍五入到C ++

时间:2013-03-03 18:22:41

标签: c++ iostream

我正在尝试将我的最终答案舍入为2位小数,因此它是美元和美分。我是编码的新手,无法弄明白。我想在“你需要收费的金额”这一行中用“w”来围绕这里是我的代码:

#include <iostream>

using namespace std;

int main()
{
    string Choice;


    float x, w;

    cout << "Please enter the amount needed." << endl;
    cin >> x;


    w = x/(1-0.0275);   

    cout << "The amount you need to charge is $"<< w << "." << endl;

    return (0);

}

3 个答案:

答案 0 :(得分:4)

根据此处的示例http://www.cplusplus.com/forum/beginner/3600/ 你可以用

cout << setprecision(2) << fixed << w << endl;

fixed是可选的)

您必须#include <iomanip>

正如Synxis所指出的,这仅适用于打印值,它不会更改w所持有的值

答案 1 :(得分:2)

你总是可以将你的答案x乘以100,然后除以100。

x = (int)(x*100+0.5f);  
x = ( (float)(x) ) / 100.0;   

答案 2 :(得分:1)

您可以将您的货币单位更改为“美分”,然后除以100以获得美元和mod 100以获得美分。

unsigned int money = 152; // USD $1.52

cout << "Money is: " << (money / 100) << "." << (money % 100) << "\n";

这可能更准确。在网上搜索“一切都知道浮点”。