Einzelnen Beitrag anzeigen

AndyDF

Registriert seit: 6. Sep 2006
Ort: Allgäu
99 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Anzahl der Nachkommastellen von Double ermitteln

  Alt 13. Sep 2018, 11:07
Danke für eure Antworten.

Nicht die exakte Darstellung. Nur die Anzahl der NS meiner gerundeten Double Zahl.
Also bei der Zahl 4512985.95 möchte ich 2 erhalten. => 2NS.
Bei der Zahl 0.00000023 möchte ich 8 erhalten. => 8NS

Dieser Code funktioniert schon mal ganz gut. Danke für den Link!
In meinem Fall werden die Werte max. 8-10 NS haben.

Delphi-Quellcode:
function GetDecimalPlaces(AValue: Double): Integer;
const
  e = 0.0000000001;
var
  r: Extended;
begin
  Result := 0;

  if AValue < 0 then
    AValue := AValue * -1;

  r := Int(AValue);
  while ((Frac(AValue) <> 0) and ((AValue - r) > e)) do
  begin
    Inc(Result);
    AValue := AValue * 10;
    r := Int(AValue+e);
  end;
end;
Andreas Blenk
  Mit Zitat antworten Zitat