ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript が大きな整数を科学表記法に変換しないようにするにはどうすればよいですか?
JavaScript での大きな整数の科学表記法を防止する
JavaScript で大きな整数を扱うことは、言語が整数を次のように変換する傾向があるため、難しい場合があります。 21 桁を超える数値の文字列コンテキストで使用される場合の科学表記法。これは、特に URL の一部として整数を出力する場合に問題となる可能性があります。幸いなことに、この変換を防ぎ、完全な数値を維持する方法があります。
ネイティブ JavaScript メソッド
JavaScript の Number.toFixed メソッドを使用して、数値をフォーマットすることができます。指定された小数精度。ただし、これには制限があります。1e21 以上の数値については科学的表記法に切り替わり、最大精度は 20 です。
カスタム実装
詳細柔軟性が高く、示されている「toFixed」関数などの独自の関数を作成できます。以下:
function toFixed(x) { // Handle small values if (Math.abs(x) < 1.0) { var e = parseInt(x.toString().split('e-')[1]); if (e) { x *= Math.pow(10,e-1); x = '0.' + (new Array(e)).join('0') + x.toString().substring(2); } } // Handle large values else { var e = parseInt(x.toString().split('+')[1]); if (e > 20) { e -= 20; x /= Math.pow(10,e); x += (new Array(e+1)).join('0'); } } return x; }
JavaScript を超えて
大きな整数を含む複雑なシナリオの場合は、BigNumber、Lemon の BigInt、BigInteger などの BigInt ライブラリの使用を検討してください。最新の JavaScript バージョンでは、ネイティブ BigInt サポートも導入されています。これを使用するには、BigInt(n) を使用して整数を BigInt オブジェクトに変換し、toString() を呼び出すだけです。
以上がJavaScript が大きな整数を科学表記法に変換しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。