Thanks for the confirmation. I opened a glibc bug on this. http://sourceware.org/bugzilla/show_bug.cgi?id=12394
Here is some sample code to demonstrate the problem (attached to the bug report): #include <stdio.h> #include <locale.h> int main(void) { double x; setlocale(LC_NUMERIC, ""); while (scanf("%lf",&x) == 1) printf("%'.2f\n",x); return 0; } Regards, Andy