Rechnung OHNE Rundung?!

für eilige Fragen

Rechnung OHNE Rundung?!

Postby Berat3228 » Wed May 04, 2011 4:40 pm

Hallo, ich habe hier eine recht komplizierte Formel nachzuprogrammieren.
Der Knackpunkt ist nun, daß an einer Stelle NICHT gerundet werden darf, es aber doch geschieht.
Ich versuche mal das Coding zu beschreiben:

Eingabewert = Datentyp CURR (13,2)
Hilfsfeld(3) = Datentyp n (3,0)
Ausgabefeld = Datentyp CURR (13,2)

Das passiert im Coding:
Eingabewert = 14.796,38.
Hilfsfeld = Eingabewert / 500. <= Inhalt ist 005, weil das Ergebnis automatisch gerundet wird.
Ich hätte aber 004 erwartet, da der exakte Wert 4,9697 ist.
Ich benötige im Feld "Hilfsfeld" NUR die "volle" Zahl vor dem
Komma. Es darf nicht gerundet werden!!!
Wie könnte man das am Besten lösen?
Danke.

Gruß
Berat3228
..
..
 
Posts: 18
Joined: Thu Jun 01, 2006 6:25 pm

Re: Rechnung OHNE Rundung?!

Postby Fiona462 » Wed May 04, 2011 5:16 pm

Hilfsfeld(3) = Datentyp n (3,0)


Dein Datentyp lässt keine Nachkommastellen zu, also wird gerundet.
Fiona462
...
...
 
Posts: 149
Joined: Tue Dec 07, 2010 11:28 pm

Re: Rechnung OHNE Rundung?!

Postby Berat3228 » Wed May 04, 2011 5:33 pm

Ich weiß das, weil ich ja keine Nachkommastellen will. Ich benötige nur die ganze Zahl ungerundet. Selbst wenn ich einen Zwischenschritt über ein Feld mit Nachkommastellen mache und dieses dann das Feld ohne Nachkomma übertrage wird gerundet. Wie um alles in der Welt bekomme ich nur die Ganzzahl in ein Feld?!
Berat3228
..
..
 
Posts: 18
Joined: Thu Jun 01, 2006 6:25 pm

Re: Rechnung OHNE Rundung?!

Postby Fiona462 » Wed May 04, 2011 6:04 pm

Ich kann Deine Rechnung:
14.796,38.
Hilfsfeld = Eingabewert / 500. <= Inhalt ist 005, weil das Ergebnis automatisch gerundet wird.
Ich hätte aber 004 erwartet, da der exakte Wert 4,9697 ist.


nicht nachvollziehen.

Wie wäre es dann mal mit Original Code?


Vielleicht hilft Dir auch der Befehl "COMPUTE"... <<--- F1 Hilfe
Fiona462
...
...
 
Posts: 149
Joined: Tue Dec 07, 2010 11:28 pm

Re: Rechnung OHNE Rundung?!

Postby Hagen2047 » Thu May 05, 2011 8:26 am

Hallo,

"floor" dürfte die Lösung seien.
floor Largest integer number that is not larger than the value of the argument arg.

Gruß hyperion
Hagen2047
...
...
 
Posts: 182
Joined: Tue Mar 03, 2009 8:29 am

Re: Rechnung OHNE Rundung?!

Postby Ilja583 » Thu May 05, 2011 8:52 am

Hallo MindMOB,

du hast deine Frage einfach falsch formuliert. 4,9697 wird nun mal korrekterweise auf 5 gerundet. Was du haben willst ist nicht "Runden" sondern entweder den "Ganzzahlanteil" einer Zahl oder die "Gaußklammer einer Zahl" (das was hyperion mit "floor" beschrieben hat)

P.S. Gaußklammer und Ganzzahlanteil sind für positive Zahlen gleich
Ilja583
.....
.....
 
Posts: 1372
Joined: Wed Jan 08, 2003 3:00 pm

Re: Rechnung OHNE Rundung?!

Postby Alessio37 » Thu May 05, 2011 9:33 am

Hallo,

Hilfsfeld2 mit ausrechend Vor- & Nachkommastellen
Hilfsfeld2 = Eingabewert / 500.
Hilfsfeld = trunc( Hilfsfeld2 ).

Grüße
Alex
Alessio37
...
...
 
Posts: 365
Joined: Thu Mar 15, 2007 10:40 am

Re: Rechnung OHNE Rundung?!

Postby Berat3228 » Thu May 05, 2011 10:41 am

Super, danke Euch.
TRUNC oder FLOOR - beides funktioniert. Da wäre ich so schnell nicht drauf gekommen :-)
Es fiel mir relativ schwer das Problem irgendwie in verständliche Worte zu fassen, aber letztendlich hat es ja geklappt.
Nochmals danke.

Gruß
Berat3228
..
..
 
Posts: 18
Joined: Thu Jun 01, 2006 6:25 pm


Return to Kurzfragen

Who is online

Users browsing this forum: No registered users and 2 guests