-
 Zitat von B.Hauser
Hallo,
Soweit ich weiss, wird bei der Erweiterung (R) nur sichergestellt, dass keine Dezimal-Stellen abgeschnitten werden.
Birgitta
ILE-RPG rechnet doch immer mit allen Dezimalstellen auch ohne Angabe von (R)oder täusche ich mich?
-
selbstverständlich geht das nicht immer:
ergebnis = 1/7 * 3/8 erfordert die Anlage von Zwischenvariablen und 1/7 hat beliebig viele Nachkommastellen! Das heißt der Compiler legt eine entsprechende Variable an. Bei einigen Operationen (malnehmen zum Beispiel) braucht man mehr Vorkommastellen, bei anderen Nachkommastellen. Bei geschachtelten Ausdrücken reicht dann der Platz nicht mehr und der Compiler muss sich entscheiden, ob er vorne Luft lässt oder hinten...
D*B
 Zitat von Mr.iSeries
ILE-RPG rechnet doch immer mit allen Dezimalstellen auch ohne Angabe von (R)oder täusche ich mich?
-
Zum Rechnen wird intern das maximum der Stellen (31/63) verwendet, um das Ergebnis zu erhalten.
Dabei gibts ja mathematische Regeln, die die Anzahl Nachkomma bestimmen.
Ist das Zielfeld groß genug um das Ergebnis aufzunehmen, gibts keine Probleme.
Nur wenn Zwischenergebnisse größer als das Zielfeld bzw. 31/63 Vorkommastellen werden können, werden die Nachkommastellen reduziert !
Mittels eval(r) wird das Abschneiden der Nachkommastellen verhindert, somit stehen weniger Vorkommastellen zur Verfügung.
Passt nun das Zwischenergebnis nicht, gibts hier bereits einen Überlauffehler (MCH).
Das (h) steht einfach nur für kaufmännisch runden.
Im übrigen arbeitet %DEC (abschneiden) und %DECH (runden) genauso. Allerdings kann man dann Zwischenergebnisse per %DEC/%DECH besser beeinflussen.
Nehme ich Dieters Beispiel nun, kann das Ergbnis ganz anders aussehen:
ergebnis = %dec(1/7:5:5) * %dech(3/8:5:2)
Es kommt also auf die persönlich gewünschte Genauigkeit an, die bei Einzelbefehlen (ADD/SUB/MULT/DIV) nun mal anders aussieht als bei komplexen Formeln.
Similar Threads
-
By jc_denton in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 30-01-08, 08:40
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks