인프런 커뮤니티 질문&답변

Jun-yeol Choi님의 프로필 이미지
Jun-yeol Choi

작성한 질문수

자바스크립트 비기너: 튼튼한 기본 만들기

5. 산술 연산자(-, *, /, % 연산자)

console.log((5*10 % (2*2.3*10))/10); 에서 2를 왜 곱하나요?

작성

·

294

2

[3:28] 강의에서

console.log((5*10 % (2*2.3*10))/10); 와 console.log((5*10 % (2.3*10))/10); 의 결과가

모두 0.4가 나옵니다.

제 생각엔 2를 곱하지 않아야 할 것 같은데요,

어차피 나머지를 구하는 것이니 2를 곱해도 결과가 같을 것이기 때문에 곱하신 건가요?

답변 5

2

김영보님의 프로필 이미지
김영보
지식공유자

넘어가도 됩니다. ES6에 작은 값을 체크하는 것이 있습니다. 다만 자바스크립트가 IEE754로 인해 나누기를 했을 때 소수 아래에 작은 값이 생길 수 있다는 것은 이해해 둘 필요는 있습니다. 너무 작은 값이므로 일반적인 계산에는 영향을 미치지 않습니다.

1

Jun-yeol Choi님의 프로필 이미지
Jun-yeol Choi
질문자

여전히 잘 모르겠습니다. 36을 제외하기 위해 50에서 46을 왜 빼야하는지 이해가 안 됩니다.

인터넷 검색을 해보니 toFixed()를 이용하면 된다고 하네요.

일단 이렇게 넘어가도 될까요? 아니면 원리를 더 찾아봐야 할까요?

0

저도 보면서 의문이 들었지만,
=> '몫을 빼서 계산한다'는 관점으로 보면 될 것 같네요:)

0

Jun-yeol Choi님의 프로필 이미지
Jun-yeol Choi
질문자

감사합니다.

0

김영보님의 프로필 이미지
김영보
지식공유자

2를 곱한 것은 50에서 46을 빼기 위한 것으로 
나머지를 구하는 목적보다 0.40000000036에서 36을 제외시키는 방법을 설명하기 위한 것입니다.
36과 같은 작은 수가 나올 때 이렇게 하면 된다는 것을 설명하기 위한 것입니다. 

Jun-yeol Choi님의 프로필 이미지
Jun-yeol Choi

작성한 질문수

질문하기