Zahlen runden
Unter Runden versteht man normalerweise eine Rechenoperation zum Verkürzen von Dezimalzahlen (häufig auf lediglich 2 Nachkommastellen). Man kann aber auch Ganzzahlen runden, zum Beispiel für die Anzeige von Tausender-Werten.
|
|
Werte runden mit JavaScript-internen Funktionen
In der Mathematik unterscheidet man Abschneiden, kaufmännisches Runden und die (unverzerrte) mathematische Rundung.
Begriffserklärungen aus der Mathematik
- Abschneiden: Eine Zahl wird rechts, an einer bestimmten Stelle abgeschnitten. Dadurch wird sie auf die nächstmögliche Zahl gerundet.
- kaufmännischen Runden: Aufrunden bei Werten ab 5 aufwärts, Abrunden bei Werten von 4 und kleiner.
- mathematisches Runden: Es wird jeweils zur nächsten geraden Ziffer gerundet.
Runden mit JavaScript
In JavaScript stehen 2 Rundungsfunktionen zur Verfügung:
Math.round() für kaufmännisches Runden
Math.round(1234.5) ;
Math.floor() zum Runden auf die nächst-niedrigere Ganzzahl
Math.floor(1234.5) ;
Unterschiede zwischen 'round' und 'floor' :
|
kaufmännisches Runden (round)
|
1245.555555
|
Math.round(1245.555555)
|
1246
|
|
kaufmännisches Runden (round)
|
1245.444444
|
Math.round(1245.444444)
|
1245
|
|
Abschneiden (floor)
|
1245.555555
|
Math.floor(1245.555555)
|
1245
|
|
Abschneiden (floor)
|
1245.444444
|
Math.floor(1245.444444)
|
1245
|
Nachkommastellen
Beispiel: Die JavaScript-interne Funktion round() erwartet als Parameter eine Zahl und liefert die kaufmännisch gerundete Ganzzahl dieser Zahl zurück.
Math.round(1234.56789);
(ja SUPER, wer will schon immer eine Ganzzahl?)
Und was ist mit Nachkommastellen? Ja, Nachkommastellen sind möglich!
Möchte man einen Wert z.B. auf zwei Nachkommastellen runden, muss man zu einem kleinen Trick greifen.
Dazu mutipliziert man zunächst den Ausgangswert mit 100. Von dem Ergebnis ermittelt man den gerundeten Wert und teilt das Rundungsergebnis durch 100. So erhält einen Berechnungswert mit 2 Nachkommastellen.
Math.round(1234.56789 * 100) / 100 ;
Mathematiker wissen, das man das auch so formulieren könnte:
Math.round(1234.56789 / 0.01) * 0.01 ;
Anzahl der Nachkommastellen
Beim Runden von Dezimalzahlen mit einer Funktion kann so die Anzahl der Dezimalstellen (die Anzahl der dargestellten Ziffern hinter dem Dezimalzeichen) festgelegt werden. Hätte ich statt mit 100 mit dem Wert 1000 gearbeitet, hätte mein Rundungsergebnis 3 Nachkommastellen.
Math.round(1234.56789 * 1000) / 1000 ;
Mathematiker wissen, das man das auch so formulieren könnte:
Math.round(1234.56789 / 0.001) * 0.001 ;
Solche gezielten Rechenoperationen werden mit Hilfe der JavaScript-internen Funktionen 'round()' oder 'floor()' plus zusätzlicher Anweisungen zu einer neuen Funktion zusammengefasst.
Beispiele von Ergebnissen:
|
kaufmännisches Runden
|
auf 2 Nachkommastellen
|
1245.755555
|
1245.76
|
|
kaufmännisches Runden
|
auf 2 Nachkommastellen
|
1245.754444
|
1245.75
|
|
Abschneiden
|
auf 3 Nachkommastellen
|
1245.7555555
|
1245.755
|
|
Abschneiden
|
auf 3 Nachkommastellen
|
1245.7554444
|
1245.755
|
|
kaufmännisches Runden
|
auf Ganzzahl
|
1245.55555
|
1246
|
|
kaufmännisches Runden
|
auf Ganzzahl
|
1245.44444
|
1245
|
Beispiele mit Math.round()
Gerundet wird in diesen Beispielen nach dem kaufmännischen Prinzip: Aufrunden bei Werten ab 5 aufwärts, Abrunden bei Werten von 4 und kleiner.
Dazu wird die JavaScript-Funktion Math.round() eingesetzt!
1 Beispiel: 245.78 auf volle Zehnerstellen
Zum Runden der Zahl 245.78 auf volle Zehner teilen Sie diese durch 10. Anschließend runden Sie das erhaltende Ergebnis
mittels Math.round(24.578). Sie erhalten den Wert 25. Diesen Wert 25 multiplizieren Sie mit 10 und erhalten als Ergebnis 250.
Wenn der Wert in die Variable 'Ergebnis' geschrieben werden soll, sieht die Formel so aus:
var Ergebnis = Math.round(245.78 / 10) * 10
2 Beispiel: 55.74 auf eine Nachkommastelle
Zum Runden der Zahl 55.74 auf eine Nachkommastelle teilen Sie durch 0.10. Anschließend runden Sie das erhaltende Ergebnis mittels Math.round(557.4). Sie erhalten den Wert 557. Anschließend multiplizieren Sie 557 erneut mit 0.10 und erhalten als Ergebnis 55.7.
Wenn der Wert in die Variable 'Ergebnis' geschrieben werden soll, sieht die Formel so aus:
var Ergebnis = Math.round(55.74 / 0.10) * 0.10
3 Beispiel: 125.746 auf 2 Nachkommastellen
Zum Runden der Zahl 125.746 auf zwei Nachkommastellen teilen Sie durch 0.01. Anschließend runden Sie das erhaltende Ergebnis mittels Math.round(1257.46). Sie erhalten den Wert 1257. Anschließend multiplizieren Sie 15575 erneut mit 0.01 und erhalten als Ergebnis 125.75.
Wenn der Wert in die Variable 'Ergebnis' geschrieben werden soll, sieht die Formel so aus:
var Ergebnis = Math.round(125.746 / 0.01 * 0.01)
Fazit:
Ergebnis = (Math.round(125.746/0.01)*0.01)
Ergebnis = (Math.round(Wert/Multiplikator)*Multiplikator)
Aus der Regelmäßigkeit leicht zu erkennen ist der Zusammenhang zwischen Multiplikator und Stellenwert (Nachkommastellen) der Rundung.
Übersichtstabelle:
| Multiplikator |
Rundung auf |
| 10 |
Zehnerstellen |
| 0,10 |
erste Nachkommastelle |
| 0,01 |
zweite Nachkommastelle |
|
|