Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
23. Jun 2009
man könnte jetzt erstmal den Wert über einen Expontialrechnung so veschieben, daß der bestmöglich in einen Int64 reinpaßt, dann IntToStr und zum Schluß nur noch ein paar Nullen und eventuell noch 'nen Komma reinbauen,
oder
E := 1.23456e-8;
If (E < 1e-18) or (E > 1e18) Then Begin
S := FloatToStr(E);
i2 := Pos('e', LowerCase(S));
If i2 > 0 Then Begin
i := StrToInt(Copy(S, i2 +...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
23. Jun 2009
E157 ist etwas zu groß.
Ein Extended hat nur 19 bis 20 signifikante Stellen und alles was mehr stellen hat, wird daher in Exponentendarstellung angezeigt. (bei Single, Double und Real sind es noch weniger Stellen)
Außerdem kann E157 sowieso nicht genau darstestellt werden, da somit die letzen 137 Dezimalstellen undefiniert sind.
In diesem Fall bleibt dir wirklich nichts anderes übrig, als...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
22. Jun 2009
E-8 zuzüglich der 9 Stellen und E16 sollte sich noch ganz einfach per Format+%n , FloatToStr und Co. hinbekommen lassen.