I plan to fix this, since I consider it a gross bug:
Gettext.setlocale (Gettext.LC_NUMERIC, "sv_SE.UTF-8");
(1) Result: 1
(string) 3.14;
(2) Result: "3,14"
sprintf ("%O", 3.14);
(3) Result: "3,14"
I.e. casting and %O are locale sensitive and doesn't always produce a decimal point.
Would it conceivably be a compatibility problem to just fix this right away in 7.8? It would not affect %f, %g and all the other floating point formatters.