2017-02-16 9 views
1

숫자 배열이 있으며 그 중 일부는 앞에 오는 0을가집니다. 맨 앞자리 0을 잃지 않고 문자열로 만들려면 어떻게해야합니까?Javascript에서 문자열로 만들 때 앞에 오는 0을 유지하는 방법은 무엇입니까?

var array = [10, 00002, 30, 400, 5000]; 
array[1].toString; // would be 2 instead of 0002 as JS drops leading zeros 

나는 다른 솔루션 (JavaScript Number preserve leading 0, JavaScript: Keeping the leading zero in a numberJavaScript Number preserve leading 0)를 보았다, 그들은 모두 숫자 문자열을하는 것이 좋습니다.

내 경우에는 배열의 숫자가 사용자에 의해 제공되므로 .toString을 통과 할 때 앞에 오는 0이 없어집니다.

나는 각 요소의 첫 번째 2 개 자리가 최종 배열이 될 것 슬라이스 그래서 때이 주위에 얻을 수있는 방법 :

var twoDigitArray = ["10", "00", "30", "40", "50"]; 

를? 반환 된 숫자

+3

, 즉 0012 === (10) – Musa

+0

당신이 JS에서 앞에 0이 진수를 의미 아십니까 사용자로부터 어떻게 수신합니까? 입력 또는 다른 양식 요소에있는 경우 문자열을 시작합니다. – KevBot

+0

선행 0은 중요한 값을 갖지 않습니다. 계산에 사용되는 내부 수치와 장식 인 문자열 기반 표시 형식의 차이점을 이해해야합니다. 이러한 모든 솔루션이 선행 0을 유지하기 위해 문자열을 사용하는 이유가 있습니다. 사용자 입력은 프로그래머가 필요에 따라 변환 할 수있는 문자열로 저장해야합니다. – fnostro

답변

0

당신은

function zeroFill(number, width) { 
    width -= number.toString().length; 
    if (width > 0) { 
    return new Array(width + (/\./.test(number) ? 2 : 1)).join('0') + number; 
    } 
    return number.toString(); 
} 

제로 채우기 기능을 만들 수 있습니다 그리고 당신은 슬라이스 수

number.slice(0, 2); 
+0

이 작동하지 않습니다. 너 시도 했니? – andi