This is a simple problem, but I can't see it:
char *s = "f 8.649292" ; double d ; sscanf( s, "f %f", &d ) ; printf( ...