View Full Version : Aufrunden auf die nächsten vollen 10 EUR
peter.kinne
27-07-06, 07:29
Hallo zusammen,
ich habe ein num. Feld (13,2) und möchte dieses immer auf die nächsten vollen 10,00 EUR aufrunden.
Hat jemand ein Tipp wie man das schlank hinbekommt.
Vielen Dank + schönes Schwitzen
Peter
Hallo Peter,
%inth(Feld/10)*10 bzw. zum Aufrunden %inth(Feld/10+0.49)*10
Gruß
M.Withake
peter.kinne
27-07-06, 08:12
Hi,
rundet inth nicht kaufmännisch ????
Peter
z.B. so:
D MyNumFld S 13P 2 inz(12320,11)
D MyResFld S 13P 2
*-------------------------------------------------
C/Exec SQL Set :MyResFld = Ceiling(:MyNumFld/10) * 10
C/End-Exec
/Free
Dsply MyResFld;
*INLR = *On;
/End-Free
Wir hatte übrigens in der iNN - eNews 5/2006 unter Tekki-Corner mit Nützliche SQL-Funktionen einen Tipp zu diesem Thema:
iNN - eNews 5/2006 (http://www.inn-online.de/iNN-eNews0605.pdf)
Wer iNN noch nicht kennt oder sich registrieren möchte kann dies unter dem folgenden Link nachholen:
iNN - Online.de (http://www.inn-online.de)
Zur Erinnerung iNN ist kostenlos, jedoch nicht umsonst!
Birgitta
Das stimmt, deswegen hatte ich meinen Beitrag nochmal aktualisiert.
Durch die Addition von 0.49 bzw 0.499 kann man ein Aufrunden erzwingen.
peter.kinne
27-07-06, 08:23
muss ich da nicht 4,99 aufaddieren um auf volle "10,00" aufzurunden.
je nachdem wann die Addition durchgeführt wird. In meinem Fall wird die Addition nach der Division durchgeführt. Vor der Divison müsste die Anweisung so lauten:
%inth((feld+4.99)/10)*10
Die Lösung per SQL von Brigitta hat einen starken Overhead durch die SQL-Aufrufe und könnte bei vielen Berechnung sehr langsam werden. Vorteile wäre hier die Behandlung von negativen Zahlen, die man aber auch im RPG nachbilden könnte.
Marimari1009
27-07-06, 12:55
Hallo zusammen,
warum nicht einfach Division durch 10 mit Remainder,
Mult 10
Prüfung Remainder >= 5 then addiere 10
K. Hardy
kuempi von stein
27-07-06, 21:15
...Hat jemand ein Tipp wie man das schlank hinbekommt.
....
Haben ja schon alle was gesagt, deshalb von mir noch ne "Lösung" in UraltRPG:
Das 13.2 Feld (A) bekommt über ne Mini - DS ein Unterfeld 1.2 (B)
Dann später an der Rundungsstelle im RPG einfach
B DIV 1 C 12 60 61
60 ADD 10 A
60 SUB C A
:D
Änderung:
um sich noch Feld C zu ersparen könnte mans auch so machen denke ich...
B DIV 1 B 60 61
60 ADD 10 A
60 SUB B A
muss ich da nicht 4,99 aufaddieren um auf volle "10,00" aufzurunden.
ich würde sogar vorschlagen 5 aufzuaddieren, denn aus 35,00 soll doch 40 werden und nicht 30, oder?
Gruß
Christian