Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Math.f16round()

Baseline 2025
Neu verfügbar

Seit April 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Die statische Methode Math.f16round() gibt die nächstgelegene 16-Bit-Gleitkommadarstellung mit halber Genauigkeit einer Zahl zurück.

Probieren Sie es aus

console.log(Math.f16round(5.5));
// Expected output: 5.5

console.log(Math.f16round(5.05));
// Expected output: 5.05078125

console.log(Math.f16round(5));
// Expected output: 5

console.log(Math.f16round(-5.05));
// Expected output: -5.05078125

Syntax

js
Math.f16round(doubleFloat)

Parameter

doubleFloat

Eine Zahl.

Rückgabewert

Die nächstgelegene 16-Bit-Gleitkommadarstellung mit halber Genauigkeit von doubleFloat.

Beschreibung

Math.f16round ist das 16-Bit-Gegenstück zu Math.fround(). Die Methode soll den Umgang mit float16-Zahlen erleichtern, etwa beim Lesen aus einem Float16Array. Intern behandelt JavaScript die Zahl weiterhin als 64-Bit-Gleitkommazahl. Es rundet lediglich das 10. Bit der Mantisse auf die nächste gerade Zahl und setzt alle folgenden Mantissenbits auf 0. Liegt die Zahl außerhalb des Wertebereichs einer 16-Bit-Gleitkommazahl, wird Infinity oder -Infinity zurückgegeben.

Da f16round() eine statische Methode von Math ist, verwenden Sie sie immer als Math.f16round() und nicht als Methode eines von Ihnen erstellten Math-Objekts (Math ist kein Konstruktor).

Beispiele

Math.f16round() verwenden

Die Zahl 1,5 lässt sich im Binärsystem exakt darstellen und ist in 16 Bit und 64 Bit identisch:

js
Math.f16round(1.5); // 1.5
Math.f16round(1.5) === 1.5; // true

Die Zahl 1,337 lässt sich dagegen im Binärsystem nicht exakt darstellen. Daher unterscheidet sich ihre Darstellung in 16 Bit und 64 Bit:

js
Math.f16round(1.337); // 1.3369140625
Math.f16round(1.337) === 1.337; // false

100000 ist zu groß für eine 16-Bit-Gleitkommazahl. Daher wird Infinity zurückgegeben:

js
Math.f16round(100000); // Infinity

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-math.f16round

Browser-Kompatibilität

Siehe auch