JavaScript/isFinite

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Die globale Funktion isFinite() ermittelt, ob ein Wert sich innerhalb des Zahlenbereichs befindet, den JavaScript verarbeiten kann, also aus Sicht von JavaScript eine gültige Zahl darstellt.

Syntax

bool = isFinite(testWert)

  • testWert: Wert, der auf Endlichkeit getestet wird. Falls `typeof testWert` nicht "number" ist, versucht JavaScript zunächst mit Hilfe der Logik der Number-Funktion eine Umwandlung in einen Number-Wert.
  • bool: Rückgabewert
    • true wenn testWert eine gültige Zahl enthält.
    • false, wenn es keine Zahl ist (NaN) oder einer der Unendlichkeitswerte (-Infinity oder +Infinity).

Sowohl ganze Zahlen als auch Kommazahlen werden als gültige Zahlen erkannt. Bei Kommazahlen muss das Dezimalzeichen ein Punkt sein.

isFinite(1234);          // true
isFinite(-1.234);        // true
isFinite(5-2);           // true
isFinite(0);             // true
isFinite('4711'):        // true!
isFinite('Hallo Welt'):  // false
isFinite('2017/02/17');  // false
Hinweis:
Außer der globalen isFinite-Funktion gibt es ab ECMAScript 2015 auch die Variante Number.isFinite, die auf die Typkonvertierung verzichtet.

Anwendungsbeispiel

Beispiel
    let Zahl = Number.MAX_VALUE;
    if (!isFinite(Zahl * 2)) {
      console.log('Die Zahl ist nicht zu verarbeiten.'");
    }
Das Beispiel definiert eine Variable Zahl der als Wert Number.MAX_VALUE die größte mögliche Zahl zugewiesen wird. In der anschließenden Abfrage wird geprüft, ob das Produkt dieser Zahl mit 2 sich innerhalb des verarbeitbaren Zahlenbereiches befindet. Ist dies nicht der Fall, so wird eine entsprechende Warnmeldung ausgegeben.

Weblinks