Homepage-Webhilfe Event-Banner

Zahlen und Mathematik

Zahlen sind in JavaScript vom Typ Number. Um mit Zahlen zu arbeiten^, gibt es verschiedene Operatoren, welche in der untenstehenden Tabelle aufgelistet sind. Die Tabelle enthält ebenfalls die verfügbaren Kurzschreibweisen und deren Bedeutung.

Name Formel Formel (kurz) Formel (schrittweise)
Addition x = y + z x += y x = x + y x++ x += 1 x = x + 1
Subtraktion x = y - z x -= y x = x - y x-- x -= 1 x = x - 1
Multiplikation x = y * z x *= y x = x * y -
Division x = y / z x /= y x = x / y -
Modulo x = y % z x %= y x = x % y -

Wichtig: An Stelle von x++ und x-- können wir auch ++x und --x notieren. Der Unterschied besteht darin, dass bei x++ und x-- der „alte Wert“ zurückgegeben wird. Bei ++x und --x wird die sogenannte Inkrementierung bzw. Dekrementierung ausgeführt, bevor die Variable den Wert zurückgibt. Hierzu folgendes Beispiel:

var x = 10;
alert(x++); // Gibt 10 aus
alert(x);   // Gibt 11 aus
var x = 10;
alert(++x); // Gibt 11 aus
alert(x);   // Gibt 11 aus

Um Zeichenketten in Zahlen umzuwandeln, gibt es die Funktionen parseInt() und parseFloat(). Die Funktion parseInt() wandelt dabei die Zeichenkette in eine Dezimalzahl um, parseFloat() hingegen in eine Gleitkommazahl (mit Nachkommastellen). Werden zwei Zeichenketten mit dem +-Operator verknüpft, so wird keine Addition ausgeführt, sondern die Zeichenketten werden aneinandergehängt (verbunden / verknüpft). Diese Regelung gilt auch bei Verwendung von einer Zeichenkette und einer Zahl: So ergibt "12" + 3 nicht etwa 15, sondern "123".

Kann die Zeichenkette nicht umgewandelt werden, so geben die Konvertierungsfunktionen den Wert NaN zurück. Um zu überprüfen, ob eine Zahl den Wert NaN besitzt, gibt es die Funktion isNaN(), welche als Parameter den Wert erwartet und als Rückgabe einen Wert vom Typ Boolean zurückgibt.

var zahlTextA = "12";
var zahlTextB = "3";
var zahlA = parseInt(zahlTextA);
var zahlB = parseInt(zahlTextB);

document.write(zahlTextA + zahlTextB);
document.write("<br />");
document.write(zahlA + zahlB);
Vorschau

Übrigens: Optional kann der parseInt()-Funktion ein zweiter Parameter übergeben werden, in welchem der Exponent angegeben wird, d. h. mit der Anweisung parseInt("00100110", 2) wird die Zeichenkette als Binärzahl interpretiert und wir erhalten den Dezimalwert 38 zurück. Standardmäßig wird für den Exponent 10 verwendet.

Wichtig: Mit der Funktion Number() ist es ebenfalls möglich, eine Konvertierung durchzuführen, jedoch muss hierbei beachtet werden, dass die Funktion Number() immer Gleitkommazahlen erzeugt, falls in der Zeichenkette Nachkommastellen vorhanden sind. Des Weiteren ist die Funktion parseInt() „weniger empfindlich“ als Number(), was die Konvertierung angeht: So gibt parseInt("123a") die Zahl 123 zurück, wohingegen Number("123a") als Wert NaN zurückgibt. Die Funktion Number() wird jedoch auch gerne dazu verwendet, eine Zahl in ein Number-Objekt umzuwandeln, um z. B. eine Funktion wie toFixed() aufzurufen, ohne davor die Zahl einer Variablen zuzuweisen.


Um den minimalen Wert oder maximalen Wert von zwei oder mehreren Werten festzustellen, gibt es die Funktion min() und max() des statischen Math-Objekts. Um die Funktion aufzurufen, benötigen wir also wieder den Punktoperator: z. B. Math.min(). Als Parameter können zwei oder mehrere Zahlen übergeben. Kann einer der Zahlen nicht konvertiert werden, so wird NaN zurückgegeben.

document.write("Minimum: ")
document.write(Math.min(12, 32, 8, 50, 83, 29, 30, 100, 46, 23, 7, 132, 57, 92, 20));

document.write("<br />");

document.write("Maximum: ")
document.write(Math.max(12, 32, 8, 50, 83, 29, 30, 100, 46, 23, 7, 132, 57, 92, 20));
Vorschau

Übrigens: Um den Minimal- oder Maximalwert aus einem Array zu bestimmen, rufen wir die Funktion apply() mit Referenz auf die Funktion Math.min() auf. Dies sieht dann z. B. so aus: Math.min.apply(meinArray). Die apply()-Funktion kann auch für andere Funktionen angewendet werden. Die apply()-Funktion übergibt dabei die Werte des Arrays der referenzierten Funktion wie wenn es einzelne Werte wären.


Um Gleitkommazahlen auf Dezimalzahlen zu runden, gibt es in JavaScript drei Funktionen, die dem Math-Objekt angehören: floor(), ceil() und round(). floor() rundet auf die nächstkleinere Zahl ab, ceil() dagegen rundet auf die nächstgrößere Zahl auf. Die Rundung von round() erfolgt nach dem kaufmännischen Prinzip: 2,3 wird zu 2, 2,7 zu 3. Hier gilt zu beachten, dass z. B. 2,49 auf 2 abgerundet wird. Die Rundung erfolgt also nicht von der letzten Nachkommastelle zur ersten, sondern als ganze Zahl.

var zahl = 12.57;

document.write("Abrunden: ")
document.write(Math.floor(zahl));

document.write("<br />");

document.write("Aufrunden: ")
document.write(Math.ceil(zahl));

document.write("<br />");

document.write("Kaufmännisches Runden: ")
document.write(Math.round(zahl));
Vorschau

In JavaScript lassen sich mit der Funktion random() des Math-Objekts Zufallszahlen generieren. Bei den generierten Zahlen handelt es sich um Gleitkommazahlen zwischen 0 und 1. Dabei kann 1 als generierte Zahl nie auftreten.

for (var i = 0; i < 10; i++)
{
	document.write(Math.random().toFixed(4));
	document.write("<br />");
}
Vorschau

Übrigens: Die Funktion toFixed() kann dazu genutzt werden, eine Gleitkommazahl nur mit einer bestimmten Anzahl an Nachkommastellen darzustellen. toFixed() kann bei allen nummerischen Variablen angewendet werden und erwartet als Parameter die Anzahl an Nachkommastellen.

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen OK