You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 07:58:05