Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 標準組み込みオブジェクト
  5. Math
  6. f16round()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

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.

Math.f16round() は静的メソッドで、数値に最も近い16 ビット半精度浮動小数点表現を返します。

試してみましょう

console.log(Math.f16round(5.5));// 予想される結果: 5.5console.log(Math.f16round(5.05));// 予想される結果: 5.05078125console.log(Math.f16round(5));// 予想される結果: 5console.log(Math.f16round(-5.05));// 予想される結果: -5.05078125

構文

js
Math.f16round(doubleFloat)

引数

doubleFloat

数値です。

返値

doubleFloat に最も近い16 ビット半精度浮動小数点表現です。

解説

Math.f16round は、Math.fround() の 16 ビット版です。これは、Float16Array から読み込む場合など、 float16 の数値を操作する際に、意図通りに動作します。内部的には、JavaScript で数値は引き続き 64 ビット浮動小数点数として扱い、仮数部の 10 ビット目で「偶数への丸め」を行い、続く仮数部のビットすべてを 0 に設定します。数値が 16 ビット浮動小数点数の範囲外である場合、Infinity または-Infinity が返値として返されます。

f16round()Math の静的メソッドであるため、生成したMath オブジェクトのメソッドとしてではなく、常にMath.f16round() として使用するようにしてください(Math はコンストラクターではありません)。

Math.f16round() の使用

1.5 という数字は 2 進法で正確に表すことができ、 16 ビットでも 64 ビットでも同じです。

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

しかし、 1.337 という数字は 2 進法では正確に表すことができないため、 16 ビットと 64 ビットでは差が出ます。

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

100000 は 16 ビット浮動小数点では大きすぎるので、Infinity が返されます。

js
Math.f16round(100000); // Infinity

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-math.f16round

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp