개발관련/자바스크립트 팁

자바스크립트 parseInt / parseFloat / number를 이용하지 않고 문자열을 숫자로 형변환 하는 구현 방법

2023. 7. 11. 18:41
목차
  1. 구현
  2. 사용
반응형

구현

function myNumber(str) {
  var isNegative = false;
  var result = 0;

  // 공백 제거
  str = str.trim();

  // 음수 체크
  if (str[0] === '-') {
    isNegative = true;
    str = str.slice(1);
  }

  for (var i = 0; i < str.length; i++) {
    var charCode = str.charCodeAt(i);

    // 숫자가 아닌 문자인 경우 종료
    if (charCode < 48 || charCode > 57) {
      break;
    }

    // 아스키 코드를 활용한 숫자 변환
    var digit = charCode - 48;
    result = result * 10 + digit;
  }

  // 음수 처리
  if (isNegative) {
    result = -result;
  }

  return result;
}

사용

var strNumber = '123.45';
var convertedNumber = myNumber(strNumber);
console.log(convertedNumber); // 123
console.log(typeof convertedNumber); // number

var strNegative = '-987';
var negativeNumber = myNumber(strNegative);
console.log(negativeNumber); // -987
console.log(typeof negativeNumber); // number

var strInvalid = 'abc';
var invalidNumber = myNumber(strInvalid);
console.log(invalidNumber); // 0
console.log(typeof invalidNumber); // number

 

이런 것으로 무엇을 알 수 있을까요?

반응형
저작자표시 비영리 변경금지 (새창열림)

'개발관련 > 자바스크립트 팁' 카테고리의 다른 글

타입스크립트는 왜 Object.keys의 타입을 모를까  (0) 2023.08.20
자바스크립트의 setTimeout은 왜 정확한 타이밍을 보장하지 못할까  (0) 2023.08.03
자바스크립트를 예로 들어서 의존성 역전 원칙(Dependency Inversion Principle, DIP)  (0) 2023.07.10
자바스크립트의 실행 컨텍스트, Lexical Environment 및 관련 컨셉 이해하기  (0) 2023.05.18
자바스크립트의 반복문 종류 및 사용법: for, for...in, for...of, forEach  (0) 2023.04.26
  1. 구현
  2. 사용
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
개발자 Dane
개발자 Dane
IT / 테크 전문 크리에이터 데인 입니다.
개발자 Dane
개발자 Dane의 IT 전문 블로그
개발자 Dane
반응형
  • 분류 전체보기 (170)
    • 개발관련 (24)
      • 프론트엔드 지식 (11)
      • 매일 코딩 테스트 챌린지 (27)
      • 자바스크립트 팁 (32)
      • 리액트 (11)
    • 얼리어답터 (11)
    • 팁 (13)
    • 게임 (18)
      • 디아블로2레저렉션 (16)
    • 운동하는 후니 (2)
전체
오늘
어제

태그

  • 바바리안
  • 디아블로2
  • 리액트
  • 자바스크립트
  • Next.js
  • vscode
  • docker
  • s3
  • React
  • GOS해제
  • 프로그래머스
  • PNP
  • 아이폰
  • 문자열정렬
  • 코딩테스트
  • javascript
  • 도커
  • 문자열
  • 룬워드방패
  • 애플페이
  • Gatsby
  • 갤럭시성능뻥튀기
  • 갤럭시소비자기만
  • 갤럭시긱벤치
  • yarn
  • 디아블로2레저렉션
  • AWS
  • 레저렉션
  • gos
  • 디아블로4

최근 댓글

hELLO · Designed By 정상우.
개발자 Dane
자바스크립트 parseInt / parseFloat / number를 이용하지 않고 문자열을 숫자로 형변환 하는 구현 방법
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.