Acronaut Diskussions Forum Home

Freies User Forum für

ADOBE® ACROBAT®

Acronaut Diskussions Forum > Adobe Livecycle Designer > JavaScript im LCD > Rundungsfehler bei bestimmten Zahlen
Navigation
Nicht angemeldet

Login | Registrieren 

  

Suche

Erweiterte Suche

Newsletter

Mitgliederliste

Kalender

Moderatoren/Partner

Hilfe

Banner

Kontakt/Impressum
Rundungsfehler bei bestimmten Zahlen
 Moderiert von: WebZopp, Gentleman, FileAffairs, acronaut Produkt: Adobe LiveCycle Designer VX  

Neue Diskussion

Antworten

Drucken
VerfasserBericht
VAK
Member
 

Eintragen seit: 17 Jun 2013
Herkunft:  
Berichte: 6
Status:  Offline
 Geschrieben: 11 Jan 2018 14:45

Text übernehmen

Antworten
Hallo,
Kaufmännische Rundungen im LCD sind normalerweise sehr einfach - über die Anzahl der Nach-Komma-Stellen (limit Trailing Digits) sowie das Zahlenformat (Patterns...). In meinem Beispiel (siehe Anhang) soll 15% von einem Betrag gerechnet und das Ergebnis dann kaufmännisch auf zwei Nach-Komma-Stellen gerundet werden.

Nun aber ist das Ergebnis für einige Zahlen falsch. Z.B. 15% von 26.631,50 ist 3.994,725. Gerundet wird aber auf 3.994,72 statt auf ...,73.
Bei der Zahl 36.631,50 rundet es aber richtig.

Hat damit jemand Erfahrung?

Anlage: TEST_rounding.pdf (2 Mal aufgenommen)

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2360
Status:  Offline
 Geschrieben: 11 Jan 2018 15:53

Text übernehmen

Antworten
Hallo VAK,

Runden kann wegen des (internen) binären Zahlenformats zu falschen Ergebnissen führen.
Verwende JS und den Code:
this.rawValue = Math.round(amount.rawValue * 15) / 100
Dann ist das Problem wenigstens für deine Beispielzahlen behoben.

vg armine

VAK
Member
 

Eintragen seit: 17 Jun 2013
Herkunft:  
Berichte: 6
Status:  Offline
 Geschrieben: 11 Jan 2018 16:04

Text übernehmen

Antworten
Alles klar. Versuche ich so. Vielen Dank für die schnelle Hilfe.
VG VaK

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2360
Status:  Offline
 Geschrieben: 11 Jan 2018 16:12

Text übernehmen

Antworten
Mit FormCalc geht es auch:
Round(amount * 15) / 100


 Uhrzeit 15:58





Powered by WowBB 1.7 - Copyright © 2003-2006 Aycan Gulez
Seite erstellt in 0.1036 Sekunden (38% DB + 62% PHP). 18 verarbeitete Abfragen.