c++ - 为什么输出显示 0 而不是 0.0?

标签 c++ arrays types

我声明了一个包含 10 个元素的数组并用 0.0 .. 9.9 初始化它,它的输出是完美的,除了 0.0 已经变成了 0,为什么会这样?

#include <iostream>
using namespace std;
int main(void)
{
int const SIZE = 10;
double number[SIZE] = {0.0,1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9};
for(int i(0) ; i < SIZE ; i++)
{
        cout << number[i] << endl ;
}
system("PAUSE");
}

谢谢,

输出: 0//它应该是 0.0 而不是 0// 1.1 2.2 . . . 9.9

最佳答案

std::cout默认情况下将输出最多 6 位数字,在本例中为一(零),因为不需要小数。 std::cout << (double)1.0;会显示 1 , 例如。您可以使用 std::setprecision来自 <iomanip> header 和 std::fixed保留小数点。

#include <iostream>
#include <iomanip>
int main(void)
{
    int const SIZE = 10;
    double number[SIZE] = {0.0,1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9};
    std::cout << std::setprecision(1) << std::fixed;

    for(int i(0) ; i < SIZE ; i++)
    {
        std::cout << number[i] << std::endl ;
    }
}

有很多有用的输入/输出操纵器。 Here's a reference to check it out.

关于c++ - 为什么输出显示 0 而不是 0.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19053903/

相关文章:

c++ - 模板化父类(super class)链接问题

java - 赋值运算符遇到问题

typescript - 是否可以为方法装饰器选项提供类型安全

types - 如何理解两个命名类型在 golang 中是相同的

c++ - 函数/方法重载 C++ : Data type confusion?

c++ - QtQuick : create component from C++

c++ - 在编译时,文件中的指令(包括入口点函数)是否优先? (C++)

java - 等价于 C++ 中 Java 的 IllegalArgumentException

javascript - 如何使用 jQuery 获取 HTML 文本而不是下拉列表中的值

ios - 下载数据并显示