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!