问题描述
我正在尝试使用c ++中的armadillo库执行以下操作。
每当我打印出一个矩阵(arma::mat
)时,它总是以以下形式打印:-
1.0594e+03 1.0439e+04 0.3425e+04
1.0232e+03 12.0319e+04 0.1225e+04
11.5044e+03 1.231e+04 0.3424e+04
我想知道是否可以删除e+04
并实际打印出整数,例如:-
1059.4 1043.9 3425.0
1023.23 120319.0 1225.0
11504.4 1231.0 3424.0
解决方法
有些古怪地带我去http://arma.sourceforge.net/docs.html#raw_print,它说:
类似于.print()成员函数,不同之处在于不对输出进行格式化;流的参数(例如精度,像元宽度等)可以手动设置
并显示此示例:
mat A = randu<mat>(5,5);
cout.precision(11);
cout.setf(ios::fixed);
A.raw_print(cout,"A:");
如果这是您要寻找的内容,则可以在这里进一步研究:https://en.cppreference.com/w/cpp/io/ios_base/fmtflags,以查看可以设置的其他格式设置参数。