打印精度高达小数点后 4 位的双精度数据类型 - Armadillo
Print double data type with a precision upto 4 decimal places - Armadillo
我正在尝试使用 C++ 中的犰狳库来执行以下操作。
每当我打印出一个矩阵(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 上面写着:
Similar to the .print() member function, with the difference that no formatting of the output is done; the stream's parameters such as precision, cell width, etc. can be set manually
并显示此示例:
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 以查看您可以设置的其他格式参数。
我正在尝试使用 C++ 中的犰狳库来执行以下操作。
每当我打印出一个矩阵(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 上面写着:
Similar to the .print() member function, with the difference that no formatting of the output is done; the stream's parameters such as precision, cell width, etc. can be set manually
并显示此示例:
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 以查看您可以设置的其他格式参数。