Skip to main content
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); // true

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); // 0.30000000000000004
console.log(0.1 + 0.2 === 0.3); // false
Hier müssen wir einfach aufpassen, da wir es als Fehler von JavaScript bzw. allgemein von Computern hinnehmen müssen.

Konversion

Es gibt mehrere Möglichkeiten einen Wert in eine Zahl zu konvertieren:
console.log(Number('23')); // 23
console.log(+'23'); // 23

console.log(Number.parseInt('30px', 10)); // 30
console.log(Number.parseFloat('2.5rem')); // 2.5
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)); // false
console.log(Number.isNaN('20')); // false
console.log(Number.isNaN(+'20X')); // true
console.log(Number.isNaN(23 / 0)); // false

console.log(Number.isFinite(20)); // true
console.log(Number.isFinite('20')); // false
console.log(Number.isFinite(+'20X')); // false
console.log(Number.isFinite(23 / 0)); // false

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)); // 5
console.log(25 ** (1 / 2)); // 5
console.log(8 ** (1 / 3)); // 2

Aggregatfunktionen

JavaScript stellt uns zwei Aggregatfunktionen zur Verfügung, min() und max():
console.log(Math.max(5, 18, 23, 11, 2)); // 23
console.log(Math.min(5, 18, 23, 11, 2)); // 2

Konstanten

Zudem gibt uns JavaScript Zugriff auf die Konstanten π und e (Eulersche Zahl):
console.log(Math.PI); // 3.141592653589793
console.log(Math.E); // 2.718281828459045

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 Nachkommastellen
  • round(): rundet nach mathematischen Gesetzen auf die nächste Ganzzahl
  • ceil(): rundet immer auf
  • floor(): rundet immer ab
console.log(Math.trunc(23.3)); // 23

console.log(Math.round(23.3)); // 23
console.log(Math.round(23.9)); // 24

console.log(Math.ceil(23.3)); // 24
console.log(Math.ceil(23.9)); // 24

console.log(Math.floor(23.3)); // 23
console.log(Math.floor(23.9)); // 23

Auf Dezimalzahlen runden

Um auf Dezimalzahlen zu runden, nutzen wir die Methode toFixed().
console.log((2.7).toFixed(0)); // "3"
console.log((2.7).toFixed(3)); // "2.700"
console.log((2.345).toFixed(2)); // "2.35"

console.log(+(2.7).toFixed(0)); // 3
console.log(+(2.7).toFixed(3)); // 2.7
Die Methode toFixed() gibt einen String aus und keine Zahl!