See this thread
where you will see sprintf() on Arduino does not do floats.
You need to "look into dtostrf();".
HTh
a7