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

Reply via email to