PDA

View Full Version : Aufrunden auf die nächsten vollen 10 EUR



Seiten : [1] 2

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

mwithake
27-07-06, 08:06
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

B.Hauser
27-07-06, 08:15
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

mwithake
27-07-06, 08:18
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.

mwithake
27-07-06, 08:39
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

cbe
28-07-06, 13:39
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