-
Wichtig bei den ganzen Rechnereien ist die Berechnung der Anzahl Nachkomma.
Sind in der Formel (innerhalb einer Klammerebene) ausschließlich Ganzzahlen beteiligt, wird eine Ganzzahlenarithmetik verwendet. Diese ergibt niemals Nachkomma.
Bei der Verwendung von Konstanten kann man Nachkomma erzwingen wenn man eben welche angibt.
An Stelle also "/ 100" kodiert man "/ 100,00". Wenn man Multiplikation verwendet kann wird es eindeutiger und schneller (macht schon ein paar Nanos aus).
Sind alle beteiligten Ganzzahlen reicht der cast einer einzigen Variablen.
Statt also "a / b" dann eben "a / dec(b, 11, 2)".
SQL berechnet dann eben die Anzahl Gesamtstellen bis halt hin zu dec(Ausdruck, 31, n) unter möglicher Beibehaltung der Genaugkeiten.
Hier kann man (ähnlich wie in ILERPG) mit Zwischenrundungen und casts das Ergebnis beeinflussen:
"dec(round(a / dec(b, 11, 2), 2), 11, 2"
Round rundet nur kaufmännisch ohne das Format anzupassen, die Nachkomma werden also nicht gekürzt. Die Zwischenanpassung ist auch manchmal erforderlich, wenn SQL an seine Grenzen stößt und mehr als 31 Stellen benötigt werden. Dies kann man zwar mit SQL-Optionen auf 63 erhöhen, löst aber das Problem meist nicht.
Nach Möglichkeit sollte man den cast auf Double vermeiden. Man kann damit bei 10^+/-308 rechnen aber die Genauigkeit bleibt bei 14 Stellen!
Und gerade bei den Nachkommastellen fangen die Rundungsprobleme an, denn round(double(0,333), 2) ergibt leider ungefähr 0,33000000000012 und damit wird dann weiter gerechnet.
Similar Threads
-
By WalterB in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 22-11-15, 15:06
-
By sonicreducer in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 01-04-15, 15:27
-
By RolandScherieble in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 05-05-03, 20:00
-
By Bau in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 05-12-02, 16:43
-
By sho1 in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 04-12-02, 18:55
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