Thank you for your informative reply, that works for floating point numbers, I haven't tried scientific notation yet.
From the library:
char *dtostrf (double val, signed char width, unsigned char prec, char *sout);
Is it possible to leave the signed char width and unsigned char precision parameters unspecified so that the result matches the double val width and precision?