我正在使用fmtlib来格式化字符串和数值,但我遇到了负整数的问题。当我用零填充该值时,无论该值的符号如何,我都希望零个数一致。
例如,使用 4 的填充,我想要以下内容:
- 2 作为“0002”返回
- -2 作为“-0002”返回
fmtlib 的默认行为是将前缀长度(即符号“-”)考虑到填充长度中,这意味着 -2 返回为“-002”
这是一个例子:
#include <iostream>
#include "fmt/format.h"
int main()
{
std::cout << fmt::format("{:04}", -2) << std::endl;
}
将输出:-002
有没有办法切换这种行为或以不同的方式来零填充值以获得我的预期结果?
谢谢你的帮助,