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; }
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());
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!