キャラクターをN回繰り返してみたところ、そのMath.pow
機能に出くわしました。
しかし、コンソールで使用すると、結果は私には意味がありません。
Math.pow(10,15) - 1
正しい結果を提供します999999999999999
しかし、なぜ10000000000000000をMath.pow(10,16) - 1
提供するのですか?
Number.MAX_SAFE_INTEGER
値を超える結果が生成されているため、単位までは正確ではありません。
これは、JavaScriptが数値に64ビット浮動小数点表現を使用するという事実に関連しているため、実際には、約16(10進数)の精度しかありません。
導入以来のBigIntそれはと組み合わせて使用することはできませんが、ECMAScriptの中に、あなたは、そのデータ型と正確な結果を得ることができますMath.pow
。代わりに、**
演算子を使用できます。
numberとbigint(n
接尾辞付き)の使用の違いを確認してください。
10 ** 16 - 1 // == 10000000000000000
10n ** 16n - 1n // == 9999999999999999n
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加