sprintf con (int) negativos

Buenas de nuevo...

estoy liado con la función sprintf, necesito imprimir la variable temp6 que oscila con valor entre positivo y negativos, el problema que tengo, es que cuando la temperatura REAL baja por debajo de 0, hasta el -0'999, el sprontf me muestra el valor en positivo, por ejemplo, REAL -0'6, mediante sprintf 0'6.

Actualmente uso este pequeño truco para imprimir float con sprintf:

sprintf(TX,"T1: %d.%02d", (int)temp6, (int)(temp6*100)%100);

Después de leer y buscar, encontré esta opción, pero no me convence porque me está absolutizando los decimales tanto positivos como negativos...

sprintf(TX,"T1: %d.%02d", (int)temp6, (int)(temp6<0,0?-1:1)*((int)temp6*100)%100);

alquien se le ocurre algún modo?

también probé a través de un pare de IF pero sin resultado....

muchas gracias

dtostrf es la solución!!!! y el post de surbyte:

https://forum.arduino.cc/index.php?topic=620459.0

gracias!