Kaufmännische Rundung
Am Beispiel einer Darlehensberechnung sollen mittels der Methoden Math.round(Zahl) und Zahl.toFixed( Nachkomma ) die Ergebnisse auf zwei Stellen hinter dem Komma ausgegeben werden. Das stellt solange kein Problem dar, soweit es nicht in einer Schleife mit mehrfacher Anwendung Zahl.toFixed( Nachkomma ) zur Berechnung kommen soll. Für die Schleifen wird for als auch do while angewendet. Für das Beispiel gilt eine feste Tilgungsrate.
Kaufmännische Rundung: (auf zwei Stellen) Math.round(zahl*100)/100 und zahl.toFixed(2)!
Für die folgenden for-Schleifen-Beispiele muss das Ende der Schleife vorab berechnet werden.
( Erg.: ) wie dies in der Vorschau mit do while dargestellt wird.
• Mit dem Button „sogeht's“ wird ein akzeptables Ergebnis dargestellt. Für die for-Schleife muss zuvor das Ende der Schleife berechnet werden. ( Erg.: ). Der Betrag wird mittels toFixed(2) auf zwei Nachkommastellen und der Zins mit Math.round abhängig von Nachkommastellen ausgegeben.
• Der Button „sonicht“ sagt alles aus. Hier sollen alle Ergebnisse mit toFixed berechnet werden UND das scheitert. Weiß der Teufel was nicht sein soll. Eine Konsolenabfrage benachrichtigt, dass die zweite tofixed-Berechnung: „Uncaught TypeError: betrag.toFixed is not a function“ ergibt und somit keine Funktion mehr ist! Das'n Ding und sowas habe ich noch nie gelesen!
• Mit dem Button „naja“ werden die Ergebnisse mitMath.round berechnet und somit werden keine Nachkommastellen erzeugt, soweit ein Ergebnis eine Ganzzahl ist bzw. keine zwei Nachkommastellen errechnet werden. Das kann man durchaus geltenlassen, wenn das nicht in einer Tabelle mit rechtsbündiger Ausrichtung darzustellen ist. „Dat sieht nich juut aus!“
• Ein hahm mer noch. In der do-while-Schleife (1) gilt die Bedingung while (laufMM > laufzeit). Der Schleifendurchlauf wird korrekt ausgeführt!
• Das gleiche nochmal: do-while-Schleife (2), ABER der Durchlauf wird mit while ( betrag > tilgung ) jedoch vorzeitig abgebrochen!
Ermittelt vorab die Laufzeit in Monaten zur Verarbeitung der for-Schleifen. Hier kann noch
„while ( betrag > tilgung )“ angewendet werden!
1 2 3 4 5 6 7 8 |
if (laufzeit == 0 ){ |
Dokument geändert am: 25. Aug. 2016 13:27