JavaScript에서 숫자의 각 자릿수에 접근하기
이번에는 변수에 따옴표 안의 문자열이 아닌 일반 숫자가 저장되어 있다고 가정해 봅시다. 이 경우,
개별 문자에 접근하려고 하면 undefined가 반환됩니다. 왜냐하면
이런 접근 방식은 문자열에만 적용되기 때문입니다:
let test = 12345;
alert(test[0]); // undefined를 출력함
이 문제를 해결하려면 숫자를 문자열로 변환하면 됩니다:
let test = String(12345); // 문자열
alert(test[0]); // '1'을 출력함 - 정상 작동
이제 처음 두 자릿수의 합을 구하고 싶다고 가정해 봅시다:
let test = String(12345); // 문자열
alert(test[0] + test[1]); // '12'를 출력함 - 문자열로 합침
문자가 숫자로 합쳐지도록 하기 위해 Number 함수를 추가해 봅시다:
let test = String(12345); // 문자열
alert(Number(test[0]) + Number(test[1])); // 3을 출력함
이런 종류의 문제는 덧셈을 할 때만 발생한다는 점을 상기시켜 드립니다. 예를 들어, 곱셈을 할 때는 숫자로의 변환을 수행하지 않아도 됩니다:
let test = String(12345); // 문자열
alert(test[1] * test[2]); // 6을 출력함
숫자 12345가 주어졌습니다. 이 숫자의 각 자릿수 합을
구하세요.
숫자 12345가 주어졌습니다. 이 숫자의 각 자릿수 곱을
구하세요.
숫자 12345가 주어졌습니다. 이 숫자의 자릿수 순서를
거꾸로 바꾸세요.