본문 바로가기
Web development/Algorithm

[javascript] 숫자 형변환(문자열 -> Float)

by 자몬다 2020. 7. 4.

문자열 -> 정수로 바꾸는건 간단하다.

parseInt('3')

 

"3.1"을 Float 3.1로 변환하려면?

const a = '3.0';
parseInt(a); // 3
parseFloat(a); // 3
parseInt(a).toFixed(1) // "3.0"

const b = '3.1'
parseInt(a) // 3
parseFloat(b) // 3.1
parseInt(b).toFixed(1) // "3.0"
parseFloat(b).toFixed(1) // "3.1"

"3.0"을 parseFloat하면 당연히 3.0이 나올 줄 알았는데 아니어서 당황했다.

이럴땐 소숫점 자릿수를 지정해주는 toFixed()를 사용하면 된다. 대신... string으로 변환된다.

 

소숫점이 있는 경우, parseFloat().toFixed()를 사용해 문자열로 변환하거나, 

소숫점이 0으로 끝나지 않는경우 그냥 parseFloat()하면 된다.

 

const b = '3.1'
const c = '3.8'
parseFloat(b).toFixed(0) // "3"
parseFloat(c).toFixed(0) // "4"
parseInt(c) // 3

toFixed는 반올림되며, parseInt는 내림 된다.

댓글