SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Devilcpc en Miércoles 5 de Enero de 2005, 22:47

Título: Ponerle Precision A Un Float
Publicado por: Devilcpc en Miércoles 5 de Enero de 2005, 22:47
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
Título: Re: Ponerle Precision A Un Float
Publicado por: chiniwinii en Viernes 7 de Enero de 2005, 16:12
Mira la función FormatFloat
Título: Re: Ponerle Precision A Un Float
Publicado por: Joss en Lunes 10 de Enero de 2005, 17:29
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 ;
Título: Re: Ponerle Precision A Un Float
Publicado por: Devilcpc en Lunes 10 de Enero de 2005, 19:35
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...
Título: Re: Ponerle Precision A Un Float
Publicado por: Joss en Miércoles 12 de Enero de 2005, 17:20
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.
Título: Re: Ponerle Precision A Un Float
Publicado por: Devilcpc en Jueves 13 de Enero de 2005, 04:00
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...
Título: Re: Ponerle Precision A Un Float
Publicado por: Joss en Jueves 13 de Enero de 2005, 18:04
Puedes utilizar variables tipo double, con mayor precision que las float (y tambien, mayor tamaño de memoria)
Salute
Título: Re: Ponerle Precision A Un Float
Publicado por: touch en Lunes 7 de Febrero de 2005, 00:18
TuLabel->Caption=FloatToStrF(fNumero,ffFixed,5,1);