Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengelakkan Notasi Saintifik Apabila Mencetak Nombor Besar dalam JavaScript?

Bagaimana untuk Mengelakkan Notasi Saintifik Apabila Mencetak Nombor Besar dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-12-10 11:57:11
asal
709 orang telah melayarinya

How to Avoid Scientific Notation When Printing Large Numbers in JavaScript?

Bagaimanakah Mencetak Nombor Besar Tanpa Notasi Saintifik dalam JavaScript?

JavaScript secara automatik menukar integer dengan lebih 21 digit kepada notasi saintifik apabila ia digunakan dalam konteks rentetan. Ini boleh menjadi masalah apabila anda perlu memaparkan nombor yang besar, seperti dalam URL.

Penyelesaian:

Untuk mengelakkan penukaran kepada notasi saintifik, anda boleh menggunakan satu daripada kaedah berikut:

Number.toFixed:

Kaedah ini boleh digunakan untuk menetapkan bilangan tempat perpuluhan, tetapi ia menggunakan tatatanda saintifik untuk nombor yang lebih besar daripada atau sama dengan 1e21.

Fungsi Tersuai:

Anda boleh mencipta fungsi tersuai untuk mengendalikan ini penukaran:

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;
}
Salin selepas log masuk

BigInt:

JavaScript kini menyokong BigInt secara asli (disokong oleh penyemak imbas berasaskan Chromium dan Firefox). Anda boleh menggunakan BigInt untuk mewakili dan mengendalikan integer besar tanpa perlu risau tentang tatatanda saintifik:

const n = 13523563246234613317632;
console.log("BigInt: " + BigInt(n).toString());
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Notasi Saintifik Apabila Mencetak Nombor Besar dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan