c++ - 在 C++ 中显示带有填充和固定位数的数字

标签 c++ iostream iomanip

我想使用填充(如有必要)和固定位数来显示数字。例如,给定以下数字:

48.3
0.3485
5.2

像这样显示它们:

48.30
00.35
05.20

我正在尝试 std::fixed、std::fill、std::setw 和 std::setprecision 的组合,但我似乎无法得到我正在寻找的东西。希望得到一些指导!

注意:0 填充并不是很重要,但我仍然希望数字对齐,以便小数点位于同一列中。

最佳答案

这很简单

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    cout << fixed << setprecision(2) << setfill('0');
    cout << setw(5) << 48.3 << endl;
    cout << setw(5) << 0.3485 << endl;
    cout << setw(5) << 5.2 << endl;
}

不过,写这样的代码让我向往 printf

关于c++ - 在 C++ 中显示带有填充和固定位数的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16248359/

相关文章:

c++ - `std::stringstream::fail()` 读后写应该返回什么值? (海湾合作委员会与 clang )

c++ - 为什么 std::setbase(2) 不切换到二进制输出?

c++ - 如何清除(字符串)流上的所有粘性操纵器?

c++ - C++ 获取 Linux 上可用屏幕空间的方法

c++ - std vector 中的 push_back() 崩溃

c++ - 套接字发送错误

c++ - 尝试读取和写入字符串时发生访问冲突?

c++ - 箭头与点语法?

c++ - 在 C++ 的一个语句中使用多个 printf

c++ - 用 setw 截断