바코드 관련 작업 중에 넘어온 바코드 정보인 문자열을 정수로 바꿔야 해서 아래와 같이 했다.
var t = document.getElementById("txtBarcode"); //바코드 값이 들어오는 텍스트 박스임 if(t == undefined || t == "") return; alert(t); var no = parseInt(t); alert(no);
바코드 값은 문자열로 '00000000162" 였다. 당연히 t='00000000162' 고 no=162 이어야 하는데 아래같이 엉뚱한 값이 나왔다. 순간 당황~~
응? 이건 뭐야? 하다가 찾아봤더니 문자열 앞에 000 으로 값이 채워져 있어서 이 놈이 162가 8진수 값인지 알았던 것. parseInt에 2번째 인자에 값을 줄 수 있었다는. 아래처럼 고쳤더니 잘 되더라는..
var no = parseInt(t, 10);
즉, 10진수 값이라고 명시적으로 적어줘야 원하는 결과를 얻을 수 있었음. 나 지금껏 이런것도 모르고 모하고 있었던 것일까? 갑자기 자괴감이 든다. ㅜㅜ
'프로그래밍 > JavaScript' 카테고리의 다른 글
콤마 제거하기 (0) | 2012.05.15 |
---|---|
3자리 콤마 표시하기 (0) | 2012.05.15 |
자바스크립트 반올림, 올림, 버림 (2) | 2012.05.09 |
백스페이스 키를 막아보기 (0) | 2011.07.13 |
[javascript] AJAX + JSON 의 eval() 함수 사용의 문제 (0) | 2011.01.19 |
[javascript] AJAX 기본으로 쓰기 (0) | 2011.01.19 |
[자바스크립트] 숫자에 콤마 붙이기 (0) | 2011.01.19 |
[자바스크립트] Apple.com의 슬라이드 갤러리 (4) | 2011.01.14 |