Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   FloatToDecimal (https://www.clubdelphi.com/foros/showthread.php?t=10210)

damian2000 13-05-2004 05:44:26

FloatToDecimal
 
Esta función (FloatToDecimal) me arraglaría muchas cosas pero no se como funciona ni los parametros que le entran. He leido la ayuda y buscado por la red pero no hay manera. ¿Me podrían ayudar con un ejemplo? Gracias.

Lepe 13-05-2004 11:02:05

Cita:

Converts a floating-point value to a decimal representation.

Unit

SysUtils

Category

floating point conversion routines

procedure FloatToDecimal(var DecVal: TFloatRec; const Value; ValueType: TFloatValue; Precision, Decimals: Integer);

Description

FloatToDecimal converts a floating-point value to a decimal representation that is suited for further formatting.

The Value parameter must be a variable of type Extended or Currency, as indicated by the ValueType parameter.

For values of type Extended, the Precision parameter specifies the requested number of significant digits in the result--the allowed range is 1..18. For values of type Currency, the Precision parameter is ignored, and the implied precision of the conversion is 19 digits.

The Decimals parameter specifies the requested maximum number of digits to the left of the decimal point in the result. Precision and Decimals together control how the result is rounded. To produce a result that always has a given number of significant digits regardless of the magnitude of the number, specify 9999 for the Decimals parameter.
Pues segun la ayuda de Delphi viene esto.

Lo que hago en estos casos es escribir en el editor de codigo el nombre de la funcion y despues pulsar F1, la mayoria de las veces la encuentra ;)

En la ayuda viene bien explicado que es cada parámetro.

Saludos

damian2000 13-05-2004 17:25:45

Cita:

Empezado por Lepe
Pues segun la ayuda de Delphi viene esto.

Lo que hago en estos casos es escribir en el editor de codigo el nombre de la funcion y despues pulsar F1, la mayoria de las veces la encuentra ;)

En la ayuda viene bien explicado que es cada parámetro.

Saludos

"Gracias" Lepe. Pero si lees bien mi post digo que HE LEIDO LA AYUDA y he buscado por internet y no hay forma de hacer funcionar la función (valga la redundancia). De todas formas, si tú la entiendes, que parece que sí, me gustaría que me pusieras un ejemplo de como funciona FloatToDecimal. Gracias otra vez. Salu2.

roman 13-05-2004 17:59:41

Como cita Lepe, el texto de la ayuda describe el funcionamiento de la función así como el uso de los parámetros. Si esto no te queda claro entonces ¿como sabes que esta función te sirve? ¿cuáles son los intentos que has hecho que te llevan a concluir que no hay manera de hacerla funcionar. Uno esperaría ver una pregunta del estilo:

Quiero usar la función X por que quiero hacer Y, Z y W pero hice los intentos A, B y C y no me funcionó porque obtuve S en lugar de T que era lo que esperaba.

En fin, algo más especifico que un simple

Quiero X pero no sé.

// Saludos

marcoszorrilla 13-05-2004 18:33:55

Bueno, voy a discrepar un poco de lo dicho, creo que la inquietud es saber como probar la función FloatToDecimal, la ayuda yo creo que deja mucho que desear en este caso.

Entonces si hubieran puesto un simple ejemplo sobraría esta pregunta, pero no existe ningún ejemplo, por lo que hacer que no de error esta función no es tarea trivial.

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 var
    Res: TFloatRec;
    X: Extended;
 begin
    X:= -987.654321;
    FloatToDecimal( Res, X, fvExtended, 9, 1);
      { Res.Exponent:= 3; Res.Negative:= True; Res.Digits:= 9877 }
      ShowMessage(IntToStr(Res.exponent));
      ShowMessage(Res.Digits);
 end;

Con este ejemplo creo que se podrá entender sin ningún problema.

Un Saludo.

damian2000 13-05-2004 19:34:08

Muchas gracias MarcosZorrilla. Tu ejemplo ha sido claro y conciso, y me ha ayudado. Ya se como utilizar la dichosa funcioncita. Gracias otra vez por entenderme y ayudarme.

Un Cordial Saludo.

Lepe 14-05-2004 02:10:37

Damian2000, siento no haberte entendido a la primera, sorry.

PD: Espero que la proxima vez pueda hacerlo mejor (creo que peor es imposible... pero recordemos que la estupidez humana es infinita ;))

Saludos

damian2000 14-05-2004 03:32:24

Nu pasa na Lepe. No te preucupes y se agradece que contestaras. Salu2.


La franja horaria es GMT +2. Ahora son las 17:43:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi