나는 문제에 직면했고 나는 그것을 아주 잘 설명 할 수 없다. 사실 나는 꽤 놀랐다. 숫자 9933272057275866을 1 씩 증가 시키면 자동으로 2가 추가됩니다 !!!9933272057275866은 매직 넘버입니까?
let test = 9933272057275866;
let test2 = test+1;
console.log('Before:', test);
console.log('After:', test2);
console.log('Sub:', test2-test);
그리고 각각의 출력 :
Before: 9933272057275866
After: 9933272057275868
Sub: 2
하는 방법이 가능할 수 다음 코드를 참조하십시오?
환경은 자바 스크립트입니다. Hackerrank에서 도전 과제를 제출했을 때이 문제를 발견했다. 그런 다음 node.js의 내 환경에서도 동일한 작업을 시도했다. 같은 결과!
현재 무슨 일입니까?
* 부동 소수점 연산이 잘못되었습니다! * –
Number.isSafeInteger (9933272057275866) === false 읽기 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger – Ryan
@ Ryan 아주 좋은 기사 –