JavaScript で大きな数値を科学表記できないようにする
JavaScript は、文字列に埋め込まれている 21 桁を超える整数を科学表記に変換することで有名です。これは、これらの値を URL またはその他のコンテキストの一部として出力する場合に問題になる可能性があります。この変換を回避して元の値を維持するにはどうすればよいでしょうか?
Roll Your Own Solution:
JavaScript にはこの目的のために特別に設計された組み込みメソッドがありませんが、それを処理する独自の関数を作成できます。カスタム実装は次のとおりです。
function toFixed(x) { 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); } } 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; }
BigInt の利用:
最新バージョンの JavaScript は、大きな整数を表すネイティブ型である BigInt をサポートしています。 BigInt を使用すると、科学表記法を使用せずに数値を文字列に変換する簡単な方法が提供されます。
let n = 13523563246234613317632n; console.log(n.toString()); // Output: "13523563246234613317632"
注: BigInt はまだ開発中であり、広くサポートされていない可能性があります。古いブラウザとの互換性が必要な場合は、JavaScript BigInt ライブラリの使用を検討してください。
以上がJavaScript が大きな数値を科学表記法に変換しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。