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

标签 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;
}

我是 C++ 的初学者。我输入这段代码只是玩玩,并假设控制台会显示“你有 10.00 美元,但它实际上显示我有“10”而不是“10.00”美元。有人能告诉我这是为什么吗?

最佳答案

由于您正在处理美元金额,您可以在写入 cout 之前设置以下内容:

std::cout.precision(2);
std::cout.setf(std::ios::fixed);

Live code example at 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;
}

关于c++ - 使用 Float 或 Double 类型时不显示小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20367919/

相关文章:

c# - c、c#、c++中的霍夫椭圆,或者wiki上matlab代码的实现

c++ - 从 wab (mapi) 中提取联系人和分发列表(组)

java - 在数组中存储坐标并在java中比较它们的最佳方法?

Java 6 - 创建并检测第一个高于 Float.MAX_VALUE 的 Double 值

c++ - LNK1120 关于使用 lineSetAppPriorityW

c++ - 错误 : invalid initialization of non-const reference of type. ..来自临时类型

c++ - 如何停止visual c++进入某些文件

java - 在Kotlin中乘以小数

无法将参数 'char (*)[30]' 转换为 'char*' 到 '1'

c - _memccpy 的宽字符版本