uuucha que mal este C18, me parece que el compilador debería incluir los float en esa función que es muy importante.
Muchas gracias por el código suky, lo probé y funciona muy bien, solo que hay que aumentar:
Decimal=
(int)(vol1*NDecimas)%NDecimas; //vol1 es mi valor float
porque sino sale error, dice el compilador que debe ser entre ints y en el sprintf faltaba colocar la cadena destino donde se creará la nueva:
sprintf(
String,"%u.%02uV",Entero,Decimal);
Este C18 que se quiere parecer más al assembler que a un C
Ojalá que en versiones superiores en C18 incluyan a los float en el sprintf y printf.
Una consulta más como puedo saber como maneja los float el C18, es decir como se forma el número float a partir de cada uno de sus 4 bytes.
saludos