Thema: SimpleRoundTo

Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#7

AW: SimpleRoundTo

  Alt 26. Dez 2012, 13:45
So wie Furtbichler habe ich es in der Vergangenheit auch gemacht.

Ich habe das Testprogramm von Bummi auch getestet und da funktioniert es.

Die Daten kommen aber aus einer Firebird DB und sind TFibFloatFields. Aber ich habe alle Multiplikationen durch Int64 Multipilkationen ersetzt.

Etwa so:

Delphi-Quellcode:
Function Mult3(e1, e2, e3: Extended): Extended;
...
i1 := Round(SimpleRoundTo(e1*1000), 0);
i2 := Round(SimpleRoundTo(e2*1000), 0);
...
Result := i1*i2*i3/1000000000;
end;
Damit berechne ich dann
Delphi-Quellcode:
Erg := Mult3(feld1, feld2, 1.0); // feld1 ist ein DB Feld mit Float Wert 0.55 und Feld2 mit 18.5;

Erg := SimpleRoundTo(erg, -2);
Und dann wird 10,17 ausgegeben. Warum ist das unterschiedlich zu dem Code von Bummi?
Albert
Live long and prosper


MrSpock

Geändert von MrSpock (26. Dez 2012 um 13:51 Uhr)
  Mit Zitat antworten Zitat