使用std::format的:L格式符处理负数时GCC输出异常的问题咨询
使用std::format的:L格式符处理负数时GCC输出异常的问题咨询
我最近在用std::format的:L格式符打印带本地化千位分隔符的浮点数,处理正数时一切正常:
std::cout << std::format(std::locale("en_US.UTF-8"), "{:L}", 12345.678 );
这段代码能正确输出:12,345.678
可当处理负数时,GCC的输出就有点出乎意料了:
std::cout << std::format(std::locale("en_US.UTF-8"), "{:L}", -123.45 );
它输出的结果是:-,123.45
我本来预期应该得到-123.45,毕竟这个数根本没有需要分隔的千位部分。想问问大家,是我的预期本身有问题,还是GCC在这里存在一个bug呢?
内容来源于stack exchange
相关产品推荐
相关产品推荐

