Für Kommazahlen sind in C nur die Datentypen float, double und long double geeignet. Normalerweise unterscheiden sich diese Typen in Ihrer Größe, in WinAVR sind allerdings alle drei als 32bit-Typ realisiert, es macht also keinen Unterschied, welchen der drei Du benutzt.

Um das Ergebnis in einen String zu verwandeln, gibt es die Funktion sprintf()

Code:
#include <stdio.h>

double x;
char string[32];

x = 1.231;

sprintf(string, "Wert: %f",x);
Gruß,
askazo