1

我正在尝试将我的最终答案四舍五入到小数点后两位,所以它是美元和美分。我是编码新手,无法弄清楚。我想在“您需要收取的金额是”的行中将“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);

}
4

3 回答 3

4

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

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

fixed是可选的)

你不得不#include <iomanip>

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

于 2013-03-03T18:28:21.217 回答
2

您总是可以将答案乘以x100,四舍五入,然后除以 100。

x = (int)(x*100+0.5f);  
x = ( (float)(x) ) / 100.0;   
于 2013-03-03T18:33:03.623 回答
1

您可以将货币单位更改为“美分”,然后除以 100 得到美元,再除以 100 得到美分。

unsigned int money = 152; // USD $1.52

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

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

于 2013-03-03T19:06:56.733 回答