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

Ein Kommentar zu „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 […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Falls du auf diesen Beitrag mit einem Artikel auf deiner eigenen Webseite geantwortet hast, kannst du hier die URL deines Beitrags eingeben. Dabei sollte es sich um die Permalink-URL handeln. Deine Antwort wird dann (möglicherweise nach der Moderation) auf dieser Seite angezeigt. Falls du deine Antwort aktualisieren oder entfernen möchtest, aktualisiere oder lösche deinen Beitrag auf deiner eigenen Webseite und gib die URL des Beitrags erneut ein. (Erfahre mehr über Webmentions.)