Moin,
kann es sein, dass "Dezimalstellen" nicht ganz in Ordnung arbeitet? Also "+12" würde 3 zurückgeben, während "-12" nur 2 zurückgibt ebenso wie "12" (ohne das +). Wobei ich jetzt nicht sicher bin, ob das immer auftritt, oder nur, wenn die automatische Normalisierung deaktiviert ist.
Delphi-Quellcode:
Function TMathe.Dezimalstellen(a:
String): Integer;
Begin
Try
If _ImmerNormalisieren
Then _Normalisieren(a);
Result := Length(a);
If istNegativ(a)
Then Dec(Result);
Except
Result := -1;
End;
End;
Statt "istNegativ" müsste abgefragt werden, ob das erste Zeichen ein Vorzeichen ist.
Also stattdessen:
If Ord(a[Length(a)]) in [Ord('+'), Ord('-')] Then Dec(Result);
MfG
xZise