Delphi - Decimales

 
Vista:

Decimales

Publicado por Michael (11 intervenciones) el 26/10/2006 10:02:32
Saludos,

Hasta ahora había trabajado con números enteros, y no tenía problema, pero ahora necesito hacer cosas con numeros decimales, y no se como hacerlo.
¿como debo declarar las varibles: float, real,...?
¿cómo convierto un numero con decimales a string: floattostr, realtostr,...?
¿cómo puedo controlar si los decimales viene marcados por punto o por coma?
¿y decidir cuantos decimales quiero?

Muchas gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Decimales

Publicado por Dr Juzam (821 intervenciones) el 26/10/2006 16:49:22
El tipo de variable va a depender de qué precisión quieras. Si vas a manejar pocas cifras decimales puedes usar Single. Para valores más precisos, puedes usar el tipo Double o Extended y si vas a usar dinero, pues Currency.

Para hacer conversiones a string vale FloatToStr, ya que acepta como parámetro un Extended:

function FloatToStr(Value: Extended): string;

Si quieres formatear la salida a string, existe una función llamada FormatFloat(const Format: string; Value: Extended): string;

Por ejemplo, si metemos FormatFloat (0.00, 7.5674) nos dará un string '7.56', ya que queremos sólo dos decimales.

Con respecto a que se usa, si punto o coma, pues eso lo define la configuración local de la máquina. Puedes acceder a dicha configuración con la variable DecimalSeparator.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decimales

Publicado por Michael (11 intervenciones) el 30/10/2006 15:10:22
Muchas gracias.

He probado con single y me funciona a la perfección.
Ahora le estoy dando vueltas al formatfloat, pero creo que funcionará.

Ciao!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decimales

Publicado por Dr Juzam (1 intervención) el 30/10/2006 16:26:18
Ops! No te he dado la función del todo correcta. Es FormatFloat, pero el primer parámetro es un string:

function FormatFloat(const Format: string; Value: Extended): string;

Así sería FormatFloat ('0.00', 7.423423) y el resultado sí sería '7.42'

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar