TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: lopb en 05 de Noviembre de 2010, 16:59:30

Título: sprintf y numeros float.
Publicado por: lopb en 05 de Noviembre de 2010, 16:59:30
Hola,

       Estoy tratando de asignarle una variable de punto flotante a una cadena.
El error que me tira es el siguiente:

Printf format type is invalid  ::

Alguna idea de que puede ser?
esta escrito tal cual como esta en la ayuda.

sprintf(string,"\f%6.3f",variablefloat);
Título: Re: sprintf y numeros float.
Publicado por: Suky en 05 de Noviembre de 2010, 17:27:30
CCS, C18, C30, C32, Hi-Tech, MikroC ?

Los de Microchip no aceptan este tipo de parámetro, hay que usar una función adicional. Buscarla en el foro.


Saludos!
Título: Re: sprintf y numeros float.
Publicado por: Palomino86 en 06 de Noviembre de 2010, 13:07:08
Porque no usas esta?

http://www.todopic.com.ar/foros/index.php?topic=32572.0

Esta función la usaron en el congreso

Saludos
Título: Re: sprintf y numeros float.
Publicado por: lopb en 08 de Noviembre de 2010, 10:20:41
CCS, C18, C30, C32, Hi-Tech, MikroC ?

Los de Microchip no aceptan este tipo de parámetro, hay que usar una función adicional. Buscarla en el foro.


Saludos!
hola, es ccs.
Título: Re: sprintf y numeros float.
Publicado por: bmb en 08 de Noviembre de 2010, 10:35:07
Hola lopb, no estará sobrando esa f antes de 6.3?  Tienes: sprintf(string,"\f%6.3f",variablefloat); y sería: sprintf(string,"%6.3f",variablefloat);

Saludos!

Edito: por correción
Título: Re: sprintf y numeros float.
Publicado por: lopb en 08 de Noviembre de 2010, 11:20:31
Hola lopb, no estará sobrando esa f antes de 6.3?  Tienes: sprintf(string,"\f%6.3f",variablefloat); y sería: sprintf(string,"%6.3f",variablefloat);

Saludos!

Edito: por correción
SI, probe ambas formas. Pero no era un problema con el formato, era un problema con el compilador. Cambie el compilador de version y ya anda
la 4.084 tiene ese bug, ahora estoy usando la 4.104.
Lo dejo asentado por si le pasa a alguien mas.

salu2 y gracias de nuevo