Eigen::IOFormat Class Reference
Detailed Description
Stores a set of parameters controlling the way matrices are printed.
List of available parameters:
- precision number of digits for floating point values, or one of the special constants
StreamPrecision
andFullPrecision
. The default is the special valueStreamPrecision
which means to use the stream's own precision setting, as set for instance usingcout.precision(3)
. The other special valueFullPrecision
means that the number of digits will be computed to match the full precision of each floating-point type. 精度 - flags an OR-ed combination of flags, the default value is 0, the only currently available flag is
DontAlignCols
which allows to disable the alignment of columns, resulting in faster code. 设置标号 - coeffSeparator string printed between two coefficients of the same row同一行两个数的分隔符
- rowSeparator string printed between two rows 两行之间的分隔符
- rowPrefix string printed at the beginning of each row每一行开头符号
- rowSuffix string printed at the end of each row每一行结束符号
- matPrefix string printed at the beginning of the matrix矩阵开始时符号
- matSuffix string printed at the end of the matrix矩阵结束时符号
Example:
std::string sep =
"\n----------------------------------------\n";
Matrix3d m1;
m1 << 1.111111, 2, 3.33333, 4, 5, 6, 7, 8.888888, 9;
std::cout << m1 << sep;
std::cout << m1.format(CommaInitFmt) << sep;
std::cout << m1.format(CleanFmt) << sep;
std::cout << m1.format(OctaveFmt) << sep;
std::cout << m1.format(HeavyFmt) << sep;
Output:
1.11 2 3.33 4 5 6 7 8.89 9 ---------------------------------------- << 1.11, 2, 3.33, 4, 5, 6, 7, 8.89, 9; ---------------------------------------- [1.111, 2, 3.333] [ 4, 5, 6] [ 7, 8.889, 9] ---------------------------------------- [1.11, 2, 3.33; 4, 5, 6; 7, 8.89, 9] ---------------------------------------- [[1.111111, 2, 3.33333]; [ 4, 5, 6]; [ 7, 8.888888, 9]] ----------------------------------------