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.