https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108046
Bug ID: 108046 Summary: The dot in the floating-point alternative form has wrong position Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: hewillk at gmail dot com Target Milestone: --- #include <format> #include <iostream> int main() { std::cout << std::format("{:#.0}\n", 10.); std::cout << std::format("{:#.1}\n", 10.); std::cout << std::format("{:#.0g}\n", 10.); } libstdc++ gives: 1e+01. 1e+01. 1e+01 But they should all be "1.e+01" https://godbolt.org/z/Y41ve6E7W