Autor Tema: sprintf y numeros float.  (Leído 4356 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado lopb

  • PIC12
  • **
  • Mensajes: 77
    • contactos lopb
sprintf y numeros float.
« 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);

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: sprintf y numeros float.
« Respuesta #1 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!
No contesto mensajes privados, las consultas en el foro

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Re: sprintf y numeros float.
« Respuesta #2 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
Lo que no me destruye, me fortalece

Desconectado lopb

  • PIC12
  • **
  • Mensajes: 77
    • contactos lopb
Re: sprintf y numeros float.
« Respuesta #3 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.

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: sprintf y numeros float.
« Respuesta #4 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
« Última modificación: 08 de Noviembre de 2010, 10:42:44 por bmb »

Desconectado lopb

  • PIC12
  • **
  • Mensajes: 77
    • contactos lopb
Re: sprintf y numeros float.
« Respuesta #5 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