(Das hier ist keine Frage, sondern eine Bitte euch alle am Thema zu beteiligen)
Guten Tag,
Ich habe mich mehrmals schon darüber geärgert, dass ich wenn ich längere Ergebnisse (mehr als 15 zifferige Zahlen) ausgeben lasse, dass das Ergebnis beispielsweise so aussieht: 2E19
Ich dachte mir nun, dass man eventuell einen Algerithmus schreiben könnte, der ein GENAUES String-Ergebnis liefert.
Folgende Ansätze:
Delphi-Quelltext
1: 2:
| Function DivS(Zahl1, Zahl2: Extended; Nachkommastellen: Integer): String; |
Theoretisch habe ich mir überlegt das Industriesystem anzuwenden und die Zahl1 jedesmal um 10 zu erhöhen und die zuletzt herausgefundene zahl mit der anzahl des Counters (10 hoch (Zahlen vor komma - vorhande herausgefundene Zahlen)) zu multipliziert und die Zahl1 mit dieser zu subtrahieren und dann von diesem Ergebnis die Nachkommastellen abschneiden und dann das Ergebnis in einen String umwandeln und das erste zeichen davon an den bisher herausgefundene Zahlenreihe anhängen...
Problem dabei: Es wird nur vor dem komma berechnet.. ein ähnlicher algerithmus müsste dann noch für nachkommastellen geschrieben werden und ein algerithmus zum herausfinden der Zahlen VOR dem Komma.
PS: Wenn man "zahlen vor dem Komma herausfinden" hört, scheint es leicht zu sein...
Aber ein Beispiel: 123456789012345678900 wäre in Delphi 1,23456789012346E20 und damit ist die einfache pos( floattostr, ',') nicht möglich...
Wer würde sich dazu bereit erklären bei einer solchen Unit zu helfen? (oder habt ihr bereits fertige? ich kenne einige die entsprechende Algerithmen verwenden... aber ich dachte an ein eigenes Gemeinschaftsprojekt)