http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48651
--- Comment #4 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-04-17 19:03:00 UTC --- OK Format string needs capital 'L' for long double. $ cat sprint.c #include <stdio.h> int main () { long double ldnum; ldnum = 25.6; printf("%30.24Lf, %d\n", ldnum, sizeof(ldnum)); } $ gcc sprint.c $ ./a.out 25.600000000000001421085472, 16