使用Float或Double类型时不显示小数

Jak*_*k13 4 c++ double visual-c++

我的代码是这样的:

#include <iostream>

int main()
{
    using namespace std;

    const float dollar = 1.00;

    cout << "You have " << dollar*10.00 << " dollars." << endl;

    cin.get();
    cin.get();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我是C ++的初学者。我只是在玩耍输入此代码,并假定控制台将显示“您有10.00美元,但实际上显示的是我有“ 10”美元而不是“ 10.00”美元。有人可以告诉我为什么吗?

小智 5

由于您要处理的是美元金额,因此可以在写至之前设置以下各项cout

std::cout.precision(2);
std::cout.setf(std::ios::fixed);
Run Code Online (Sandbox Code Playgroud)

coliru的实时代码示例

#include <iostream>

int main() {
    using namespace std;
    const float dollar = 1.00;
    std::cout.precision(2);
    std::cout.setf(std::ios::fixed);
    cout << "You have " << dollar*10.00 << " dollars." << endl;
    cin.get();
    cin.get();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 呼叫`std :: cout.unsetf(std :: ios :: fixed)`。 (2认同)