I'm trying to print double with wprintf in stdout and some format specifiers don't work.
int main( int argc, char* argv[] )
{
double val = 0.123;
wprintf( L"1 %lf\n", val ); // FAIL
wprintf( L"2 %lf\n", static_cast<float>( val ) ); //FAIL
wprintf( L"3 %f\n", val ); // OK
wprintf( L"4 %f\n", static_cast<float>( val ) ); // OK
printf( "5 %lf\n", val ); // OK
printf( "6 %lf\n", static_cast<float>( val ) ); // OK
printf( "7 %f\n", val ); // OK
printf( "8 %f\n", static_cast<float>( val ) ); // OK
return 0;
}