Rumah >hujung hadapan web >tutorial js >Mengapa Operator Modulo JavaScript (%) Menghasilkan Keputusan Tidak Dijangka dengan Nombor Negatif?
JavaScript's % Operator untuk Nombor Negatif: Kejutan Negatif
Operator modulus (%) ialah alat yang berharga untuk bekerja dengan baki. Walau bagaimanapun, apabila ia berkaitan dengan nombor negatif dalam JavaScript, hasilnya boleh di luar jangkaan.
Masalahnya:
Dalam kes seperti (-13) % 64, JavaScript kembali -13, manakala kalkulator konvensional seperti Google Calculator memberikan hasil yang positif (51). Percanggahan ini berpunca daripada tingkah laku pengendali dengan operan negatif.
Pembetulan:
Untuk mengatasi isu ini, pelaksanaan tersuai pengendali modulus untuk nombor negatif boleh digunakan :
Number.prototype.mod = function (n) { "use strict"; return ((this % n) + n) % n; };
Pengubahsuaian ini memastikan bahawa keputusan (-13) % 64 adalah 51, sejajar dengan hasil matematik yang dijangkakan. Untuk mendapatkan maklumat lanjut, rujuk artikel "The JavaScript Modulo Bug".
Atas ialah kandungan terperinci Mengapa Operator Modulo JavaScript (%) Menghasilkan Keputusan Tidak Dijangka dengan Nombor Negatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!