如何在类似于 C 的C++中打印浮点数

How to print floating point number in C++ similar to C

本文关键字:C++ 打印 浮点数 类似于      更新时间:2023-10-16

我想以pdb格式打印数据,这是一种存储原子坐标的特定格式,以便一些标准的分子可视化软件可以读取它们。

目前,我正在使用一种解决常规C++并将我的 std::cout 与 printf 相结合以获得所需的格式化输出,如下所示,

std::cout << std::setw(6) << "ATOM" << std::setw(5) << "0" << " " 
          <<  std::setw(4) << "C" << std::setw(12) << global_id
          << "    ";
 printf("%8.3f %8.3f %8.3f %6.2f %6.2f n", pos[0], pos[1], pos[2], tt, ss );

其中global_id是整数。

那么我怎样才能消除这个printf并仅通过使用标准::cout在小数点前后具有指定的精度来编写整个语句。

任何帮助将不胜感激。

您正在寻找的机制setprecision()如下所述:http://en.cppreference.com/w/cpp/io/manip/setprecision

结合setw()

http://en.cppreference.com/w/cpp/io/manip/setw