Mathematische Operationen
In JavaScript sind Zahlen immer Floating Point Numbers, egal ob sie eine ganze Zahl, wie 101 oder eben 3.141 ist. Das können wir auch ganz einfach überprüfen:
console.log(23 === 23.0);Floating Point Numbers
Die Präzision von Floating Point Numbers ist stark begrenzt, da solch eine Zahl mit dem Binärsystem dargestellt wird. So kann z.B. folgendes passieren:
console.log(0.1 + 0.2);
console.log(0.1 + 0.2 === 0.3);Konversion
Es gibt mehrere Möglichkeiten einen Wert in eine Zahl zu konvertieren:
console.log(Number('23'));
console.log(+'23');
console.log(Number.parseInt('30px', 10));
console.log(Number.parseFloat('2.5rem'));Die beiden letzteren nennt man auch Parsing und ist nützlich um auch Strings mit Suffixen, z.B. CSS-Werten, in Zahlen umzuwandeln.
Überprüfung
Es gibt hauptsächlich zwei Methoden, um zu überprüfen, ob eine Zahl auch wirklich eine Zahl ist: isNaN() und isFinite(). Letzteres ist dabei deutlich zuverlässiger, da es auch Werte, wie Infinity abfangen kann:
console.log(Number.isNaN(20));
console.log(Number.isNaN('20'));
console.log(Number.isNaN(+'20X'));
console.log(object.isNaN(23 / 0));
console.log(Number.isFinite(20));
console.log(Number.isFinite('20'));
console.log(Number.isFinite(+'20X'));
console.log(Number.isFinite(23 / 0));Wurzeln
Wir können Wurzeln mit der sqrt()-Methode beschreiben. Natürlich sind aber auch Brüche im Exponenten möglich um Wurzeln darzustellen:
console.log(Math.sqrt(25));
console.log(25 ** (1 / 2));
console.log(8 ** (1 / 3));Aggregatfunktionen
JavaScript stellt uns zwei Aggregatfunktionen zur Verfügung, min() und max():
console.log(Math.max(5, 18, 23, 11, 2));
console.log(Math.min(5, 18, 23, 11, 2));Konstanten
Zudem gibt uns JavaScript Zugriff auf die Konstanten π und e (Eulersche Zahl):
console.log(Math.PI);
console.log(Math.E);Random
Die random()-Funktion ermöglicht uns die Erstellung von zufälligen Zahlen:
console.log(Math.random());
console.log(Math.random() * 100);
console.log(Math.trunc(Math.random() * 100));Runden
Auf Ganzzahlen runden
Beim Runden gibt es essenziell vier Methoden:
trunc(): entfernt alle Nachkommastellenround(): rundet nach mathematischen Gesetzen auf die nächste Ganzzahlceil(): rundet immer auffloor(): rundet immer ab
console.log(Math.trunc(23.3));
console.log(Math.round(23.3));
console.log(Math.round(23.9));
console.log(Math.ceil(23.3));
console.log(Math.ceil(23.9));
console.log(Math.floor(23.3));
console.log(Math.floor(23.9));Auf Dezimalzahlen runden
Um auf Dezimalzahlen zu runden, nutzen wir die Methode toFixed().
console.log((2.7).toFixed(0));
console.log((2.7).toFixed(3));
console.log((2.345).toFixed(2));
console.log(+(2.7).toFixed(0));
console.log(+(2.7).toFixed(3));Die Methode toFixed() gibt einen String aus und keine Zahl!
Last updated