Math.f16round()

Baseline 2025
Newly available

Since April 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die statische Methode Math.f16round() gibt die nächstgelegene 16-Bit-Halbpräzisions- Float-Darstellung 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-Halbpräzisions- Float-Darstellung von doubleFloat.

Beschreibung

Math.f16round ist das 16-Bit-Gegenstück zu Math.fround(). Es soll einige Unschärfen beim Umgang mit Float16-Zahlen glätten, zum Beispiel beim Lesen aus einem Float16Array. Intern behandelt JavaScript die Zahl weiterhin als 64-Bit-Float, es führt lediglich ein "Rundung-auf-eben" auf das 10. Bit der Mantisse durch und setzt alle folgenden Mantissenbits auf 0. Wenn die Zahl außerhalb des Bereichs eines 16-Bit-Floats liegt, wird Infinity oder -Infinity zurückgegeben.

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

Beispiele

Verwendung von Math.f16round()

Die Zahl 1.5 kann im binären Zahlensystem genau dargestellt werden und ist in 16-Bit und 64-Bit identisch:

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

Jedoch kann die Zahl 1.337 im binären Zahlensystem nicht exakt dargestellt werden, sodass sie sich in 16-Bit und 64-Bit unterscheidet:

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

100000 ist zu groß für einen 16-Bit-Float, deshalb wird Infinity zurückgegeben:

js
Math.f16round(100000); // Infinity

Spezifikationen

Specification
Float16Array
# sec-math.f16round

Browser-Kompatibilität

Siehe auch