PDA

Ver la Versión Completa : Numeros con más de 18 decimales


HySTD
21-08-2008, 20:46:49
Buenas! Estoy realizando una aplicación que requiere la utilización de números con más de 19 decimales de precisión.

Sabiendo el tipo de datos que ofrece Delphi, tenemos que Extended solo llega hasta 19 dígitos de precisión. Con lo cual a la hora de hacer un simple StrToFloat ya se perdería información. Usando, por ejemplo Format('%.30', [variable]), obtendría nuevamente una cadena, con 30 decimales, pero no podría tratar dicho número (hacerle un StrToFloat) sin la pérdida de los últimos 11 decimales...

Existe alguna clase que implemente números en punto flotante con mayor precisión que Extended? Porque no la he encontrado :p... Espero que sí, porque no me agrada mucho la idea de tener que implementar desde cero un nuevo tipo de datos... xD

Un saludo y gracias de antemano.

seoane
21-08-2008, 21:10:32
¿Has probado con los TBCD?

uses FMTBcd;

var
x: Variant;
begin
x:= VarFMTBcdCreate(0,30,20);
x:= 0.00000000000000000003;
ShowMessage(x/2);
end;