Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#18

AW: Anzahl der Nachkommastellen von Double ermitteln

  Alt 13. Sep 2018, 18:46
Für die Funktionen aus den etwas neueren Helpern gibt es auch entsprechende "alte" Pascalfunktionen, die zufällig oftmals gleich/ähnlich heißen.

Die prozeduale Syntax sähe z.B. so aus.
Delphi-Quellcode:
EinStringMitMöglichstWenigenNachkommastellen := TrimRight(TrimRight(FloatToStrF(MyDouble, ffFixed, 15, 18), ['0']), [FormatSettings.DecimalSeparator]);

AnzahlDerNachkommastellen := Pos(FormatSettings.DecimalSeparator, ReverseString(TrimRight(FloatToStrF(MyDouble, ffFixed, 15, 18), [0]))) - 1;

// mir Leerzeichen für das Trim
AnzahlDerNachkommastellen := Pos(FormatSettings.DecimalSeparator, ReverseString(TrimRight(ReplaceStr(FloatToStrF(MyDouble, ffFixed, 15, 18), '0', ' ')))) - 1;
Schade ist nur, dass Trim/TrimRight/TrimLeft der StrUtils nur Leer- und Steuerzeichen kennen, aber für TrimRight wird es bestimmt auch irgendwo eine alternative Funktion geben.


Nja, einige der bekannten String-Funktionen fehlt noch im Helper und dafür gibt es auch ein bissl was Neues, welches die Prozedualen noch nicht kennen.



Vorteil der Helper ist, dass Funktionen in der Reihenfolge ihrer Anwendung im Code stehen, also hintereinander.
Beim Prozedualen stehen sie in umbekehrter Reihenfolge, mit dem Result des Vorgängers als Parameter.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (13. Sep 2018 um 18:51 Uhr)
  Mit Zitat antworten Zitat