这是一个related topic。
我正在寻找稍微不同的东西,我正在打印出一个4x4浮点矩阵。事实上,我正在使用this prettyprint method来执行此操作,这将阻止我使用我更熟悉的printf
格式。
我可以将ios_base::width()
设置为设置最小宽度以填充零和1,但0.6666667
之类的东西会将对齐方式搞定。我想我可以设置precision
,但它只会影响有效数字的数量,而不会影响值产生的字符总数。我似乎无法在unsetf
上使用ostream
来设置'默认表示法'...即使我能做到这一点,我怀疑减号会使对齐变得混乱。
有解决方法吗?
答案 0 :(得分:1)
我的临时解决方案是width(7)
和precision(4)
。它给出了小数点后的4位数,3表示放置减号,单个数字和小数点的空格。我必须检查并修改宽度,以便容纳(某些)大于99.9999
或小于-9.9999
的值以保持对齐。这样做的好处是567890123
不会打印为5678901
,它所做的就是抛弃对齐(很多,它将打印为567890123.0000
)。