左边的点精度

时间:2013-05-09 13:57:32

标签: c++

我正在尝试写的是这样的东西

file << someFunction(5) << hex << 3;

获得类似00003的输出而不是3(300将是00300等)

注意: - 对不起,如果之前有人询问,我不知道要搜索哪个术语来获取此

编辑: - 我的意思是左边的零,我包括十六进制部分只是为了清楚我希望它与这种格式兼容

3 个答案:

答案 0 :(得分:12)

我相信这就是你的意思。

#include <iostream>
#include <iomanip>
int main()
{
   std::cout << std::setw(5) << std::setfill('0') << 3 << '\n';
   return 0;
}

输出

00003

链接 setwsetfill

修改:另请参阅std::internal at this question

答案 1 :(得分:4)

使用

file << setfill('0') << setw(5) << 3;

获取00003而不是3

答案 2 :(得分:2)

iomanip是您需要搜索的内容。

#include <iomanip>

然后

file << someFunction(5) << hex << setw(5) << setfill('0') << 3 << endl;