sprintf for uno

Hi

I have some troble with sprintf with arduino IDE 1.8.5 for UNO

char message[12];
sprintf(message,"%+02.2f",23.45);

(I used a float instead of 23.45 at the beginning)

gives one space and question mark (" ?")

f in the descriptor doesnt seem understood...

I tried some tricks as #include <stdio.h> or <math.h> with no effect

Some idea ?

Use dtostrf() to convert the float to a c-string. The standard sprintf (in Arduino) does not support the floating point specifier.

Ok thank you !

A way for the sign ? or should I write code ?