View Full Version : kaufmänisches Runden im free-format
Hallo Forum,
wie kann ich bei einem Rechenvorgang im free-form RPG angeben, dass einen Rundung durchgeführt werden soll?
Muss ich dann vor die Zeile eval(h) schreiben, oder gibt es da einen eleganteren Weg?
So sieht das irgendwie blöd aus, finde ich:
eval(h) AWPRMPS70 = M_UM70 * 100 / M_PM70;
Gruß
Alexander
Der Weg mit eval(h) ist so korrekt und nicht anders möglich.
Schade eigentlich.
Ich dachte, ich könnte im free-format komplett auf eval verzichten.
Na ja, vielleicht ändert sich da was bei V5R3.
Danke für die Antwort.
naja, müsste denn nicht auch folgendes gehen ?!?
/free
awprmps70 = %DecH( (M_um70 * 100 / M_PM70) : 7 : 2 ) ;
/end-free
wobei die 7:2 = 7Stellen mit 2 Nachkommastellen ist
Tschau Ronald
Auch hier wird nicht gerundet, sondern das Ergebnis abgeschnitten.
%decH heisst nicht runden sondern auf gerade Anzahl Stellen bringen (Halfadjust).
Hallo Baldur,
da würde ich jetzt aber doch mal wieder sprechen wollen
d Wert1 s 9 4 Inz( 3,8170 )
d Wert s 7 2
d Wertx s 7 2
/free
Wert = %DecH( Wert1 : 7 : 2 );
Wertx = %Dec( Wert1 : 7 : 2 );
*InLr = *On;
/End-Free
bei mir kommt da folgendes raus
Wert = 3,82
Wertx = 3,81
Gruß Ronald
Ups !
Man müsste den englischen Begriff "halfadjust" mal korrekt erklären. Frei übersetzt könnte es auch Runden (eigentlich "Round") heissen.
So wie wir es früher ;) zu Fuss gemacht haben : die Hälfte auf die letzte gewünschte Stelle addieren und abschneiden.
0,12 + 0,05 = 0,17 -> 0,1
0,16 + 0,05 = 0,21 -> 0,2