A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/fround below:

Math.fround() - JavaScript | MDN

Math.fround()

Baseline Widely available

Math.fround() は静的メソッドで、ある数値を表す最も近い 32 ビット単精度浮動小数点数を返します。

試してみましょう
console.log(Math.fround(5.5));
// Expected output: 5.5

console.log(Math.fround(5.05));
// Expected output: 5.050000190734863

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

console.log(Math.fround(-5.05));
// Expected output: -5.050000190734863
構文 引数
doubleFloat

数値です。

返値

doubleFloat の最も近い 32 ビット単精度浮動小数点数の表現です。

解説

JavaScript は内部的に 64 ビットの倍精度浮動小数点数を使用しており、非常に高い精度を提供しています。しかし、例えば Float32Array から値を読み込む場合など 32 ビットの浮動小数点数を扱うことがあるかもしれません。これは混乱を招く可能性があります。 64 ビットの浮動小数点数と 32 ビットの浮動小数点数が等しいかどうかをチェックすると、一見同じように見える数値であっても失敗することがあります。

これを解決するには、 Math.fround() を使用して、 64 ビット浮動小数点数を 32 ビットの浮動小数点数にキャストすることができます。内部的には、 JavaScript は数値を 64 ビットの浮動小数点数として扱い続けますが、仮数の 23 番目のビットに「偶数への丸め」を実行し、それに続く仮数ビットをすべて 0 に設定します。数値が 32 ビットの浮動小数点数の範囲外の場合は、 Infinity または -Infinity が返されます。

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

例 Math.fround() の使用

1.5 という数値は二進数で正確に表すことができ、32 ビットと 64 ビットとで同じになります。

Math.fround(1.5); // 1.5
Math.fround(1.5) === 1.5; // true

しかし、 1.337 という数値は二進数では正確に表すことができず、32 ビットと 64 ビットとで異なります。

Math.fround(1.337); // 1.3370000123977661
Math.fround(1.337) === 1.337; // false

2150 2^150 は 32 ビット浮動小数点では大きすぎるため、 Infinity が返されます。

2 ** 150; // 1.42724769270596e+45
Math.fround(2 ** 150); // Infinity
仕様書 ブラウザーの互換性 関連情報

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4