let num =1234;
let multi = 1000;
let tmp = 10;
//덧셈
tmp = tmp + 1; //tmp +=1
//뺼셈
tmp = tmp - 1; //tmp -=1
//나눗셈
tmp = tmp /2 ; //tmp /=2
//곱셈
tmp = tmp *2; //tmp *=2
//num을 뒤집는 연산 ( 4321로)
tmp =0;
while(num>0){
tmp *= 10;
tmp += (num%10);
num = num/10;
// 자바스크립트의 나눗셈은 실수형식으로 결과가 나와서 소수점 이하를 버리는 함수가 필요하다.
}
간단한 예시입니다. 여러분이 아는 연산과 동일 합니다. 하지만 결과값이 어떻게 나오는지 확인하면 조금 의아해 하실 수도 있습니다.
다른 연산과 다르게 주의해야할 연산은 나눗셈입니다. ☀️나눗셈 연산시 나머지가 0인 연산이 아닌경우 소수점자리까지 연산이 수행되며, 실수로 자료형이 변환하게 됩니다. 정수/정수 => 실수 ☀️반복문을 통해 이러한 연산을 하게 되면 원하는 결과와 달리 연산이 무한히 반복하며 탈출조건을 만족하지 못하게 되죠. 🔜이러한 문제를 해결하는 방법 : 올림/내림을 사용
let num =1234;
let multi = 1000;
let tmp = 10;
//덧셈
tmp = tmp + 1; //tmp +=1
//뺼셈
tmp = tmp - 1; //tmp -=1
//나눗셈
tmp = tmp /2 ; //tmp /=2
//곱셈
tmp = tmp *2; //tmp *=2
//각 자리의 수를 더하는 반복문
tmp =0;
while(num>0){
tmp *= 10;
tmp += (num%10);
num = Math.floor(num/10);
// 자바스크립트의 나눗셈은 실수형식으로 결과가 나와서 소수점 이하를 버리는 함수가 필요하다.
}
나머지 자리를 버리는 floor를 사용하였습니다.
Math.floor : 숫자를 가장 가까운 정수 또는 지정된 유의값의 배수로 내립니다. Math.ceil :주어진 숫자보다 크거나 같은 숫자 중 가장 작은 숫자를 integer 로 반환합니다. 결과: