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