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

JavaScript에서 숫자의 선행 0(앞자리 0)을 유지하는 방법

JavaScript에서는 숫자(Number) 타입으로는 선행 0(leading zero)을 유지할 수 없습니다. 예를 들어 0678이라는 값을 숫자로 저장하면 자동으로 678로 변환되어 맨 앞의 0이 사라집니다.

따라서 선행 0이 필요한 값(예: 사원 번호, 우편번호, 전화번호 등)은 반드시 문자열(String)로 취급해야 합니다. 아래 예제처럼 ID를 문자열로 전달하면 선행 0이 그대로 유지됩니다.

예제: 문자열로 처리하여 선행 0 유지하기

아래 코드에서는 직원 ID '0678'을 문자열로 함수에 전달하여 선행 0을 그대로 출력합니다.

<html>
   <head>
      <script>
         function sayHello(name, age, id) {
            document.write(name + " is " + age + " years old, with id = " + id);
         }
      </script>
   </head>
   <body>
      <p>아래 버튼을 클릭하여 함수를 호출하세요</p>
      <form>
         <input type="button" onclick="sayHello('John', 26, '0678')"
            value="Display Employee Info">
      </form>
   </body>
</html>

실행 결과

John is 26 years old, with id = 0678

추가 팁: padStart()로 선행 0 채우기

ES2017(ES8)부터 지원되는 padStart() 메서드를 사용하면, 숫자를 원하는 자릿수만큼 앞자리 0으로 채울 수도 있습니다.

let num = 678;
let padded = String(num).padStart(4, '0');
console.log(padded); // "0678"

정리하면, JavaScript에서 선행 0을 유지하려면 해당 값을 문자열로 다루거나, 필요한 경우 padStart() 메서드로 자릿수를 맞춰주는 것이 가장 안전하고 권장되는 방법입니다.