• Domingo 15 de Diciembre de 2024, 22:31

Autor Tema:  Ponerle Precision A Un Float  (Leído 2847 veces)

Devilcpc

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Ponerle Precision A Un Float
« en: Miércoles 5 de Enero de 2005, 22:47 »
0
buenas

el tema es sencillo, tengo una variable tipo float q despues la imprimo utilizando un label, pero este me lo imprime como con 15 decimales, pero quiero fijarle una precisionde un solo decimal...

supongo q no es muy complicado, pero yo estoy acostumbrado al C q utilizaba el %.2f
-- Solo se q no se nada, pero aun supero a la generalidad de todos los hombres q no saben eso tampoco --

chiniwinii

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Ponerle Precision A Un Float
« Respuesta #1 en: Viernes 7 de Enero de 2005, 16:12 »
0
Mira la función FormatFloat

Joss

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Ponerle Precision A Un Float
« Respuesta #2 en: Lunes 10 de Enero de 2005, 17:29 »
0
DevilPc, si estas acostumbrado al formato antiguo... sigue utilizandolo:

Por ejemplo, puedes hacer:


char str[30] ;
float ff=123.45 ;

sprintf(str,"CON 2 ENTEROS y 3 DECIMALES %6.3f",ff) ;
Label1->Caption=str ;

Devilcpc

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Re: Ponerle Precision A Un Float
« Respuesta #3 en: Lunes 10 de Enero de 2005, 19:35 »
0
gracias por las respuestas

pero estaba buscando a ver si hay alguna forma q el float se guarde directamente con 2 decimales, ya q no le pongo yo el valor sino q lo toma el programa por su cuenta...
-- Solo se q no se nada, pero aun supero a la generalidad de todos los hombres q no saben eso tampoco --

Joss

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Ponerle Precision A Un Float
« Respuesta #4 en: Miércoles 12 de Enero de 2005, 17:20 »
0
DEvilpc, no acabo de entender lo que quieres.
Guardar un dato en formato float significa eso mismo, una codificacion. Otra cosa es como representarlo.
En alguna ocasion, me ha ocurrido que si pones un valor, al printarlo sale otro.
Ejemplo:

float f ;

f=12345678.456789

printf("%f",f) ;

resultado 12345678.4588

Es decir, la "precision" es variable.

Si pretendes cojer la parte "real" y "decimal" del float, existen funciones de C que lo hacen, guardando esos valores en variables enteras.

Devilcpc

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Re: Ponerle Precision A Un Float
« Respuesta #5 en: Jueves 13 de Enero de 2005, 04:00 »
0
justamente ese es el problema, yo manejo un campo de una tabla con formato float, y el valor de la tabla es diferente al valor q tiene una variable tipo float cuando le guardo el valor de la tabla, me da una diferencia en el 4 decimal mas o menos, y pense q lo podia corregir poniendole una presicion al float de 2 decimales, igual ya lo solucione de otra forma, peroi no queda muy prolijo...
-- Solo se q no se nada, pero aun supero a la generalidad de todos los hombres q no saben eso tampoco --

Joss

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Ponerle Precision A Un Float
« Respuesta #6 en: Jueves 13 de Enero de 2005, 18:04 »
0
Puedes utilizar variables tipo double, con mayor precision que las float (y tambien, mayor tamaño de memoria)
Salute

touch

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Ponerle Precision A Un Float
« Respuesta #7 en: Lunes 7 de Febrero de 2005, 00:18 »
0
TuLabel->Caption=FloatToStrF(fNumero,ffFixed,5,1);