ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript が大きな数値を科学表記法に変換しないようにするにはどうすればよいですか?

JavaScript が大きな数値を科学表記法に変換しないようにするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-07 18:58:13
オリジナル
296 人が閲覧しました

How Can I Prevent JavaScript from Converting Large Numbers to Scientific Notation?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート