숫자를 다룰 수 있는 함수는 다음 표와 같습니다.

함 수 설 명
eval() 문자열로 입력한 수식을 계산하여 반환
parseInt(str)
parseInt(str, radix);
문자열을 정수로 형변환.
  • radix: 2, 8, 10, 16진수 중 하나. 기본값 10진수
parseFloat() 문자열을 실수로 형변환. 10진수만 가능
toFixed() 소수점 몇째 자리까지 나타낼지를 지정
Ex.) 123.456789.toFixed(2) // 123.45
isNaN() 값이 숫자인지 검증.
숫자이면 true 아니면 false. 문자열 숫자도 true


eval() 함수

이 함수는 문자열로 입력한 수식을 계산하여 반환해 주는 함수입니다.

<script>
var str = eval("1 + 2");
document.write(str); // 3
</script>


parseInt(), parseFloat()

문자열 정수나 실수를 형변환하고, 숫자가 아닌 값을 입력하면 NaN 을 반환합니다.

<script>
document.write( typeof(parseInt("123.456")) );
// number

document.write( parseInt("123.456") );
// 123

document.write( parseInt(123) );
// 123

// 문자열을 소수로 형변환합니다.
document.write( parseFloat("123.45") );
// 123.45


document.write( parseInt("문자열") );
// NaN
</script>

2진수를 10진수로 변환합니다.

<script>
document.write( parseInt("010101", 2) ); // 21
</script>


isNaN()

isNaN() 함수는 주어진 값이 숫자인지 아닌지 검증할 수 있습니다. 값이 숫자이면 true 를, 아니면 false를 반환하고, 문자열 숫자도 true 를 반환합니다.

<script>
if(isNaN("문자열")){
  document.write("숫자가 아닙니다.");
}

if(isNaN("123")){
  alert("숫자입니다.");
}

if(isNaN(123)){
  alert("숫자입니다.");
}
</script>

0 댓글