본문 바로가기

항해99_10기/105일의 TIL & WIL

[20221109] 숫자와 문자의 혼합형이 string 타입으로 저장되어 있을 때 숫자만 number로 변환하는 방법

오늘 시도한 것

  • 숫자+문자로 이뤄진 string type을 숫자만 발라내어 number type으로 변환

오늘은 항해99 입학시험을 치뤘다. 문제는 간단했다.

기존에 만들어 놓은 사이트에 가격 컬럼을 추가하는 것이었다. 

주문 할수 있는 평수는 10~50평 사이였고, db에 평수는 "00평"의 형태로 저장이 되고 있었다.

어차피 2자리 수자로만 저장이 되고 있었기 때문에, 빠르고 간단하게 구현하기 위해 평수 변수의 첫번째와 두번째 자리 값만 불러와 number로 변환해주었다.

price = Number(size[0]+size[1])*500

이렇게 제출을하고 나서 문득, 만약 평수 정보의 자리수가 변경된다면 어떻게 처리할까? 하다가 split()을 이용하여 간단하게 고쳐주었다.

price = Number(size.split("평")[0])*500

// 여기서, size = "00평" 형태이고,
size.split("평") // ["00", "평"]의 array를 반환
size.split("평")[0] // array의 첫번째 요소인 00을 반환
Number(size.split("평")[0]) // 00을 number 타입으로 반환

이제, 평수가 두자리 숫자가 아닌 여러자리 숫자라도 다 처리가 가능하게 되었다!

 

============================================================================================

 

위에서 사용했던 split()외에도 parseInt(), parseFloat()을 이용하면 더욱 간단하게 구현이 가능하다.

let price = parseFloat(size)
console.log(typeof price) // number