Định nghĩa
a % b trả về phần dư của phép chia nguyên a / b. Dấu kết quả theo toán hạng trái (dividend).
Ví dụ
<script>
var a = 33, b = 10;
document.write("a % b = " + (a % b)); // 3
</script>
Bảng giá trị
| Biểu thức | Kết quả | Giải thích |
|---|---|---|
| 10 % 3 | 1 | 10 = 3*3 + 1 |
| -10 % 3 | -1 | Dấu theo -10 |
| 10 % -3 | 1 | Dấu theo 10 |
| -10 % -3 | -1 | Dấu theo -10 |
| 5.5 % 2 | 1.5 | Hỗ trợ float |
Ứng dụng phổ biến
- Kiểm tra chẵn/lẻ:
n % 2 === 0(chẵn),n % 2 !== 0(lẻ). - Vòng lặp chu kỳ:
index = (index + 1) % length. - Phân trang:
page = Math.floor(index / pageSize),pos = index % pageSize. - Format thời gian:
seconds % 60,minutes % 60.
Lưu ý
Trong một số ngôn ngữ (Python) dấu phần dư theo divisor. JS theo dividend – chú ý khi port code.