【发布时间】:2014-09-12 15:15:15
【问题描述】:
我在 Eigen::Vector2f 变量中有一堆数据。我想分列打印,但结果不均匀,如下所示:
Vec1 |Vec2 |Vec3
1.94609 -0.0863508 | 1.71155 -0.137481 |3.00915
1.94609 -0.0863508 |1.57448 1.8755 |387.864
1.94609 -0.0863508 |-0.415677 1.66801 |583.542
2.01589 1.94324 | 1.71155 -0.137481 |433.156
2.01589 1.94324 |1.57448 1.8755 |10.1969
2.01589 1.94324 |-0.415677 1.66801 |303.132
0.00212092 1.966 | 1.71155 -0.137481 |584.061
0.00212092 1.966 |1.57448 1.8755 |124.429
0.00212092 1.966 |-0.415677 1.66801 |17.5172
我使用的打印语句是这样的:
Eigen::IOFormat fmt(4, 0, ", ", "\n", "", "");
std::cerr << vec1.transpose().format(fmt) << "\t|" << vec2.transpose().format(fmt) << "\t|" << vec3.transpose().format(fmt) << std::endl;
格式语句的精度似乎是指非零位数,而不是小数位数。例如,如果我将精度设置为 2,我会得到像 2、-0.044 和 2.8 这样的数字。不管怎样,列都没有对齐。
关于如何让我的列对齐的任何想法?这些多余的空间是从哪里来的?
【问题讨论】:
标签: c++ string-formatting eigen