Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 숫자의 마지막 자릿수를 제거하는 방법 완벽 가이드

JavaScript에서 숫자의 마지막 자릿수를 제거하는 방법은 크게 두 가지가 있습니다. 비트 연산자(Bitwise Operator)가 도입되기 전에는 숫자를 먼저 문자열로 변환한 뒤, 문자열 메서드를 사용해 원하는 부분을 잘라내는 방식이 일반적이었습니다. 이 과정에서 숫자를 문자열로 바꾸는 타입 변환(type conversion)이 필수적이었습니다.

하지만 비트 OR(Bitwise OR) 연산자의 등장으로 이 작업이 훨씬 간단해졌습니다. 비트 OR를 활용하면 타입 변환이나 문자열 메서드 없이도 한 줄의 코드로 마지막 자릿수를 제거할 수 있어, 코드의 길이와 복잡도가 크게 줄어듭니다.

방법 1: substring() 문자열 메서드 사용

다음 예제에서는 string.substring() 메서드를 사용하여 숫자의 마지막 자릿수를 제거합니다. 먼저 숫자를 문자열로 변환한 후, 문자열 길이에서 1을 뺀 범위까지 잘라냅니다.

<html>
<body>
<script>
    var str = '2345';
    document.write((str.substring(0, str.length - 1)));
</script>
</body>
</html>

출력 결과

234

이 방식은 직관적이지만, 숫자를 문자열로 변환하는 추가 작업이 필요하다는 단점이 있습니다.

방법 2: 비트 OR 연산자(| 0) 사용

비트 OR 연산자를 활용하면 타입 변환과 문자열 메서드가 전혀 필요하지 않습니다. 숫자를 10, 100, 1000 등으로 나눈 뒤 | 0을 적용하면 소수점 이하가 버려지면서 원하는 자릿수만 남게 됩니다. 이 방법은 코드를 매우 간결하게 만들어 줍니다.

<html>
<body>
<script>
    document.write(2345 / 10 | 0)
    document.write("</br>");
    document.write(2345 / 100 | 0)
    document.write("</br>");
    document.write(2345 / 1000 | 0)
</script>
</body>
</html>

출력 결과

234
23
2

두 방법의 비교 정리

  • substring() 방식: 숫자를 문자열로 변환해야 하며, 코드가 상대적으로 길어집니다.
  • 비트 OR 방식: 타입 변환 없이 산술 연산만으로 처리하므로 더 짧고 효율적인 코드를 작성할 수 있습니다.

간단한 숫자 처리 작업이라면 비트 OR 연산자를 활용하는 것이 성능과 가독성 면에서 유리합니다. 다만 음수 처리 시 동작 방식이 다를 수 있으니, 실제 프로젝트에서는 입력 값의 범위를 고려하여 적절한 방법을 선택하는 것이 좋습니다.