Berechnung mit math Funktion Floor

Alles was sich mit dem Thema dynamische XML Formulare auf Basis des LiveCycleDesigners beschäftigt
Antworten
Urs
Beiträge: 6
Registriert: 19.06.2009, 13:23

Berechnung mit math Funktion Floor

Beitrag von Urs » 16.07.2009, 16:19

Hallihallo, da bin ich mal wieder.

Konnte in meinem Formular fast alle Probleme lösen, nur bei der Berechnung haut was noch nicht.

Ich muss in einer Berechnung, die soweit funktioniert, den erhaltenen Betrag noch auf 5 Rappen runden. In der Excelvorlage die mir als Grundlage dient wird das so gemacht:
=GANZZAHL((V10*W10+T10*X10/60)*20+0.5)/20

In meinem Code habe ich es nun so versucht:
switch (vKantenart)
        {
        case "geschnitten":
            vPreis1 = Floor((vGewicht*vPreisMat)+(((vEinrichtzeit+vAufräumzeit+vSchnittzeit)/vMenge)*(vArbeit/60))*20/0.5)/20;
            vPreisAll = vPreis1*vMenge;
            vMwSt = vPreisAll*0.076;
        break;
       
        case "gebrochen":
       
        break;
       
        case "poliert":
       
        break;
        }

Der Javascript-Debugger meldet dann aber "Floor is not defined"

Was fehlt mir da noch im Code?

Herzlichen Dank

PS: Es eilt!!!!

Benutzeravatar
mkti
Beiträge: 27
Registriert: 18.07.2008, 20:57

Berechnung mit math Funktion Floor

Beitrag von mkti » 16.07.2009, 19:52

Hallo Urs,

ich könnte mir vorstellen dass Dein Hauptproblem darin liegt, dass Du statt "floor" eben "Floor" geschrieben hast.

wenn Du das änderst sollte es gehen.

Allerdings ist Deine Formel nicht ganz stimmig vor allem die vielen Klammern sorgen dafür, dass man leicht den Überblick verliert .
Auch hast Du bei dem Schritt, der erforderlich ist auf 5 Rappen zu runden
(x*20+0,5)/20 statt "+0,5" "/0,5" gesetzt. Das und das fehlende Klammerpaar
bzw. die beiden überflüssigen Klammerpaare führen dazu dass Deine Rechnung nicht stimmt.
Btw. Dir ist bekannt, dass die Funktion "floor" IMMER abrundet?
evtl. wäre hier die Funktion "round()" besser da diese wirklich kaufmänisch ab bzw. aufrundet.

Also entweder mit überflüssigen Klammern:

Code: Alles auswählen

vPreis1= round(((vGewicht*vPreisMat)+(((vEinrichtzeit+vAufräumzeit+vSchnittzeit)/vMenge)*(vArbeit/60)))*20+0.5)/20
oder vereinfacht:

Code: Alles auswählen

vPreis1= round((vGewicht*vPreisMat+((vEinrichtzeit+vAufräumzeit+vSchnittzeit)/vMenge)*vArbeit/60)*20+0.5)/20
Damit sollte es dann funktionieren - und auch stimmen.

Gruß: Michael

Urs
Beiträge: 6
Registriert: 19.06.2009, 13:23

Berechnung mit math Funktion Floor

Beitrag von Urs » 17.07.2009, 08:17

Danke für die Tips

Leider meldet der Java-Debugger immer noch einen Fehler
"round is not defined"

Wieso will das Ding die Javafunktion nicht kennen?

Könnt ihr euch das pdf mal ansehen? Bitte!


Danke
Urs
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
mkti
Beiträge: 27
Registriert: 18.07.2008, 20:57

Berechnung mit math Funktion Floor

Beitrag von mkti » 17.07.2009, 09:54

Hallo Urs,

ups, das war mein Fehler. Ich dachte Du scriptest in XML.
Bin selbst - was die Formulare betrifft - noch relativ "unbeleckt"

Aalso im Javascript muss der Befehl so lauten:

Code: Alles auswählen

vPreis1= Math.round((vGewicht*vPreisMat+((vEinrichtzeit+vAufräumzeit+vSchnittzeit)/vMenge)*vArbeit/60)*20+0.5)/20
Dann sollte das klappen

Gruß: Michael



Urs
Beiträge: 6
Registriert: 19.06.2009, 13:23

Berechnung mit math Funktion Floor

Beitrag von Urs » 17.07.2009, 10:04

Herzlichen Dank

Das Fass Bier ist unterwegs... :D

Gruss
Urs

Antworten