printf("%.16e", sqrt(2.0)); #### printf(MY_FORMAT, sqrt(2.0)); #### WRITEMAKEFILE( .... DEFINE => '-DMY_FORMAT="%.16e"', .... ); #### use strict; use warnings; use Config; use Inline C => Config => USING => 'ParseRegExp', CCFLAGSEX => '-DMY_FORMAT="%.16e"', BUILD_NOISY => 1, ; use Inline C =><<'EOC'; SV * foo(void) { printf(MY_FORMAT, sqrt(2.0)); printf("\n"); } EOC foo(); #### C:\_32\C>type try.c #include #include int main(void) { printf(MY_FORMAT, sqrt(2.0)); return 0; } C:\_32\C>gcc -o try.exe try.c -DMY_FORMAT=\"%.16e\" C:\_32\C>try 1.4142135623730951e+000 C:\_32\C>