Thema: Delphi FMod "streikt"

Einzelnen Beitrag anzeigen

Johann Steiner

Registriert seit: 11. Jun 2005
10 Beiträge
 
#16

AW: FMod "streikt"

  Alt 1. Jul 2017, 00:03
Hallo Leute,
die Ursache für die Entstehung des Problems war das März-Preisrätsel 2017 in Bild der Wissenschaft.
Dabei hat mich nicht die "Lösung des Problems" interessiert, sondern wie das Endergebnis ausschaut und ob bei jeder diversen Losziehung das gleiche Ergebnis herauskommt.
Die Berechnung war kein Problem, Double genügt, aber das gesamte Ergebnis als String darzustellen war mir unmöglich.
Als FMode bei e^21 ausstieg war ich schon sehr erstaunt (nicht einmal Single wird überschritten!), zumal in der Hilfe doch die Funktion mit Extended-Werten umgehen sollte können.
So wollte ich das machen:
function ExtToString(source:Extended): string;
const
CharDigits = '0123456789';
var Rest:integer;
begin
Result := '';
repeat
Rest:= Round(FMod(Source, 10))+1;
Result := CharDigits[Rest] + Result;
ASource := Int(Source / 10);
until (Source = 0);
end;
Nach euren Hinweisen habe ich die Unit UBigIntsV5 von Gary Darby verwendet und es klappt hervorragend.

Nochmals herzlichen Dank an alle!
  Mit Zitat antworten Zitat