Tôi gặp vấn đề và tôi không thể giải thích được. Thực ra tôi khá ngạc nhiên. Khi tôi cố gắng tăng số 9933272057275866 lên 1, nó sẽ tự động thêm 2 !!! Xin xem đoạn mã sau:9933272057275866 là một số ma thuật?
let test = 9933272057275866;
let test2 = test+1;
console.log('Before:', test);
console.log('After:', test2);
console.log('Sub:', test2-test);
Và đầu ra tương ứng:
Before: 9933272057275866
After: 9933272057275868
Sub: 2
Làm thế nào điều này có thể có thể?
Môi trường là Javascript. Tôi thấy vấn đề này khi tôi gửi một thách thức tại Hackerrank, sau đó tôi cũng cố gắng làm như vậy trong môi trường của riêng mình trên node.js. Cùng một kết quả!
Điều gì đang xảy ra?
* Ồ không có số học dấu chấm động nào bị hỏng! * –
'Số.isSafeInteger (9933272057275866) === false' đã đọc: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger – Ryan
@Ryan rất đẹp bài viết –