[SOLUCIONADO] Separar float en digitos

Hola, os escribo de nuevo porque tengo un problema, hasta ahora para cambiar en un display los valores de un valor int los dividia en 3 digitos, cambiaba cada digito y luego los guardaba volviendolos a unir, pero tengo un valor que lleva coma y que es un float que tengo el problema que no se como hacerlo,

Con los int lo hacia asi:
int num = 235;
byte i;
for(i=0;i<3;i++){
if(i==0)
menu_num*=(num/100)%10;*
if(i==1)
menu_num*=(num/10)%10;
if(i==2)
menu_num=num%10;
_}*
a ver si me podriais ayudar, ya que el ide me da error invalid operands of types ‘float’ and ‘int’ to binary ‘operator%’ si en vez de un int pongo float. Alguna idea???
Gracias de antemano.
P.D. Acabo de encontrar este ejemplo pero no lo entiendo, no se si me podria servir.
http://forum.arduino.cc/index.php?topic=167414.0_

Busca info acerca dtostrf() (necesitas incluir stdlib.h)

Otra manera, puedes multiplicar x10,x100,x1000... según los decimales que quieras y meterlo en un int. Luego haces tú codigo, pero metiendo una "," cuando toque... O le restas la parte no decimal y sólo tendrías los decimales,etc

Saludos,

Igor R.

Gracias Igor no se me habia ocurrido lo de desplazar la coma.Demas como son dos digitos y con el de la coma 3, me va perfecto, casi no toco nada.Al final me ha quedado asi y me parece q funciona bien.

volatile float num2 = 23.5;
int num=(int)(num210);
byte i;
for(i=0;i<3;i++){
if(i==0)
menu_num
=(num/100)%10;*
if(i==1)
menu_num*=(num/10)%10;
if(i==2)
menu_num=num%10;
_}*
Arigato!!!_

Nada no he dicho nada, tenia un parentesis mal y me ponia el decimal a 0, pero ya esta la union bien quedando asi.

int temp2=menu_num[0]*100+menu_num[1]*10+menu_num[2]; Serial.println(temp2); float temp= (float)(temp2)/10; Serial.println(temp);

Muchas gracias, a ver cual es la siguiente piedra que me encuentro.

Un saludo y doy esto por solucionado