elektro:elch

Es ist nicht ungefährlich, wenn ein Volk lesen und schreiben kann.

Javascript – Fließkommazahlen runden

In Javascripts Math-Bibliothek gibt es sechs unterschiedliche Funktionen, um Fließkommazahlen zu runden:

  • abs()
  • ceil()
  • floor()
  • round()
  • trunc()
  • fround()

Was ist der Unterschied zwischen diesen Funktionen?

abs()

abs() ist der Absolutwert einer Zahl. Mathematisch gesprochen ist es der Abstand einer Zahl zu Null. Da ein Abstand nicht negativ sein kann, ist der Absolutwert immer der positive Wert einer Zahl:

Math.abs(7.89012) = 7.89012
Math.abs(-7.89012) = 7.89012

ceil()

ceil() rundet einer Zahl auf den nächsten ganzzahligen Wert größer oder gleich der gegebenen Zahl auf:

Math.ceil(7.1) = 8
Math.ceil(7.8) = 8
Math.ceil(-7.1) = -7
Math.ceil(-7.8) = -7

Hierbei ist zu beachten, dass die nächstgrößere ganze Zahl von -7.1 nicht -8, sondern -7 ist.

floor()

floor() ist das Gegenstück zu ceil(), es rundet die gegebene Zahl also auf die nächstkleinere oder gleiche Zahl zu der gegebenen Zahl:

Math.floor(7.1) = 7
Math.floor(7.8) = 7
Math.floor(-7.1) = -8
Math.floor(-7.8) = -8

round()

round() rundet die gegebene Zahl auf die nächste ganze Zahl:

Math.round(7.1) = 7
Math.round(7.8) = 8
Math.round(-7.1) = -7
Math.round(-7.8) = -8

Die Funktion arbeitet mathematisch korrekt:

math.round(7.49) = 7
math.round(7.5) = 8

trunc()

trunc() schneidet einfach den Nachkommaanteil der gegebenen Zahl ab:

Math.trunc(7.1) = 7
Math.trunc(7.8) = 7
Math.trunc(-7.1) = -7
Math.trunc(-7.8) = -7

fround()

Diese Funktion benötigt man nur in speziellen Situationen, in denen man mir 32-Bit-Zahlen arbeiten muss, z. B. in der Grafik- oder Audioprogrammierung. Sie ermöglicht eine genauere Rundung als das allgemeinere round().
Hier ist eine genauere Erklärung, als sie in diesem Artikel sinnvoll ist.


(Foto von Mika Baumeister auf Unsplash)


Comments

One response to “Javascript – Fließkommazahlen runden”

  1. […] Javascript – Fließkommazahlen runden Das kommt jetzt nicht so überraschend für Programmierer:innen, da man ähnliche Funktionen in vielen anderen Programmiersprachen findet und sogar mit derselben Bezeichnung, aber der Text von elektro:elch gibt schön wieder wie viel Auswahl man bei diversen Programmiersprachen und Frameworks hat, ist außerdem kurz und gut und auch ein überschaubarer Einblick für alle, die keine Coding-Erfahrung haben […]

Leave a Reply

Your email address will not be published. Required fields are marked *