Conversione da float a stringa Linguaggio c

Buonasera,
ho un problema con l'invio dei dati di temperatura a un server. Nel fare la richiesta HTTP POST al server tramite una stringa JSON devo convertire il valore float della temperatura in una stringa tramite utilizzo di "sprintf". Qualcuno mi saprebbe dire come scrivere questa funzione?

char data[30];
sprintf( data ,"data : %.2f %%", temperature);
const char body[] = "{ "sensor_type":"temperature", "data"}";

io avevo provato così ma non so bene come funziona la sprintf
Grazie per l'aiuto!

use dtostrf...

example here:
https://forum.arduino.cc/index.php?topic=679604.0

dtostrf() certainly wasn't intuitive for me
consider

void
setup (void)
{
    Serial.begin (115200);

    double temperature = 12.34;

    int  d = int(temperature);
    int  f = 100 * (temperature - d);

    char s [30];
    dtostrf (temperature , 7, 3, s);
    Serial.println (s);

    sprintf (s, "data: %d.%02d", d, f);
    Serial.println (s);
}

void
loop (void)
{
}

>natalia009: Una serie di cose:

1. creare DUE account e porre la stessa domanda, NON è cosa saggia ... due account NON sono permessi (vd. punto 16.12 del REGOLAMENTO), per cui il secondo account è stato bloccato.

2. nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post. Per questa volta il thread è stato spostato nella sezione di lingua Italiana.

3. essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione il su citato REGOLAMENTO. Grazie.

Guglielmo