Convirtiendo datos flotantes a cadenas (Arduino)
Estaba batallando un poco para convertir tipos de datos, y la verdad me constó un poco el caér en cuenta que pasar de flotantes a cadenas dentro del entorno de programación del arduino (avr-gcc) no era tan directo como creí.
Afortunadamente la respuesta vino de los propios foros de Arduino, del foro viejo para ser preciso.
La función mágina es dtostrf y según la documentacion de la biblioteca funciona así:
char* dtostrf( double __val,
signed char __width,
unsigned char __prec,
char * __s
)
Facil, no…? Mejor una explicación simple:
char* dtostrf( double variableFlotante, signed char tamañoMinimo, unsigned char presicion, char *cadenaDondeGuardar )
Esta función recibe la variable que queremos convertir (variableFlotante), el tamaño mínimo de la cadena resultante (tamañoMinimo) incluyendo el punto decimal y el signo negativo en caso necesario, el número de dígitos tras el punto decimal (presicion) y una cadena con suficiente espacio para guardar (cadenaDondeGuardar). Regresa un apuntador a la cadenaDondeGuardar.
Y un pequeño código de ejemplo:
... char cadenaTemporal[6]; double temperatura; temperatura = leerSensorTemperatura(); dtostrf(temperatura, 5, 2, cadenaTemporal); hacerAlgoCon(cadenaTemporal); ...
Cuando menos tengo que decir que fue interesante















