Printf número variable de decimales en float
Encontré un formato interesante para imprimir cadenas de longitud fija no terminadas como esta:
char newstr[40] = {0};
sprintf(newstr,"%.*s", sizeof(mystr), mystr);
Así que creo que tal vez hay una forma bajo el comando printf para imprimir un número flotante ...
"% 8.2f"
Tener capacidad para elegir número de decimales con número entero.
Algo como esto:
sprintf(mystr, "%d %f", numberofdecimals, floatnumbervalue)
EDITAR - Solución:
(para redondear y borrar un número flotante a la precisión deseada).
int precision = 2;
char kolf[16] = {0};
sprintf(kolf, "%8.*f", precision, mystruct.myfloat);
float kol = atof(kolf);