C++ 设置“;“设置精度”;正确地

C++ 设置“;“设置精度”;正确地,c++,stl,C++,Stl,嗨,虽然我做过这样的事 #include <iomanip> ... std::cout<<"Numbers "<<std::setprecision(2)<<numb1<< " "<<std::setprecision(2)<<numb2<<" "<<std::setprecision(2)<<numb3<<" "<< std::

嗨,虽然我做过这样的事

 #include <iomanip>
...
        std::cout<<"Numbers "<<std::setprecision(2)<<numb1<< "  "<<std::setprecision(2)<<numb2<<" "<<std::setprecision(2)<<numb3<<"  "<< std::setprecision(4)<<numb4<<std::endl;

我如何才能真正设置每列的精度以获得一致的格式,而不是精度(5)和科学格式的混合?

也使用
std::fixed
操纵器,它将关闭对科学符号的任何恢复:

std::cout << std::fixed /*<< as before from here*/

std::cout也使用
std::fixed
操纵器,该操纵器将关闭对科学符号的任何还原:

std::cout << std::fixed /*<< as before from here*/

std::cout如果我必须在数字之前指定精度,这是可以的-问题是它不起作用,并且打印科学/pre(5)或prec(1)数字的混合体…是的,这很好。可以在cout链的任何位置引入操纵器。尽管说实话,我还是想在这里找到一种
sprintf
-类型的解决方案。如果我必须在数字之前指定精度,这没关系——问题是它不起作用,并且打印出科学/pre(5)或prec(1)数字的混合体……是的,这很好。可以在cout链的任何位置引入操纵器。尽管说实话,我还是想在这里找到一种
sprintf
类型的解决方案。