I'm seeing this as well. Specifically, it works on the Simulator, but breaks on the Device. I assume the Simulator is just calling through to normal sscanf() and the Device has a custom implementation.
Simple sample:
float my_float;
int match_count = pd->system->parseString("123.456", "%f", &my_float);
Expected:match_count == 1 and my_float == 123.546. Found on SIMULATOR:match_count == 1 and my_float == 123.546 Found on DEVICE:match_count == 0 and my_float == 0.0 Found with SSCANF() locally:match_count == 1 and my_float == 123.456
Reproducing the error:
I'm attaching a "main.c" that will output the value when dropped into the Hello World project.