Warum so kompliziert?
Ein einfaches Splitten.
Delphi-Quellcode:
function GetLength(Value: Double): Integer;
var
so: Integer;
tResult: string;
begin
tResult := FloatToStr(ABS(Value));
so := InStr(1, tResult, ',');
if (so <> 0) then
begin
Result := Length(MidStr(tResult, so + 1, Length(tResult)));
end;
end;
LenValue := GetLength(4512985.95);
Bei mir sind es 2 nicht mehr nicht weniger.
gruss
Kommt aber leider bei:
GetLength(0.00000023)
schon an seine Grenzen...
Ja nun das ist das Problem was @Sherlock schon angesprochen hat.
Zitat:
Das Thema ist aufgrund der internen Darstellung von Gleitkommazahlen nicht ganz ungefährlich.
Es liegt doch an dir einfach nur den Double wert korrekt zum String zu konvertieren.
Danach ist es so wie @gammatester sagte..
Zitat:
Wenn Du die Zahl als String hast, kannst Du einfach zählen.
gruss