parseFloat()
parseFloat() 함수는 주어진 값을 필요한 경우 문자열로 변환한 후 부동소수점 실수로 파싱해 반환합니다.
시도해보기
구문
js
parseFloat(string)
매개변수
string-
파싱할 값입니다. 문자열이 아닐 경우
ToString추상 연산을 사용해 문자열로 변환합니다. 문자열의 선행 공백은 무시합니다.
반환 값
주어진 문자열에서 파싱한 부동소수점 실수입니다.
공백이 아닌 첫 글자를 숫자로 변환할 수 없는 경우 NaN을 반환합니다.
설명
parseFloat은 전역 객체의 함수 속성입니다.
parseFloat이 양의 부호(+), 음의 부호(-U+002D HYPHEN-MINUS), 숫자(0-9), 소수점(.), 지수(e,E) 외의 다른 글자를 발견할 경우 해당 문자 이전까지의 문자만 사용해 파싱하며 문제의 문자와 그 이후는 모두 무시합니다.- 소수점이 두 개 이상 존재할 경우 두 번째 소수점 역시 위와 같이 무시됩니다.
- 주어진 값의 선행 및 후행 공백은 무시합니다.
- 주어진 값의 첫 글자를 숫자로 변환할 수 없는 경우
NaN을 반환합니다. parseFloat은Infinity도 파싱 후 반환할 수 있습니다.parseFloat은BigInt구문을Number로 반환하므로 정확도를 잃습니다. 마지막n문자를 무시하기 때문입니다.
더 엄격한 파싱이 필요하면, 유효하지 않은 문자가 어디에나 존재할 시 NaN을 반환하는 Number(value)를 고려하세요.
parseFloat은 toString이나 valueOf 메서드를 구현한 객체도 파싱할 수 있습니다. 이 때의 결과는 객체의 toString(), valueOf()의 반환 값을 parseFloat에 전달한 것과 동일합니다.
예제
숫자를 반환하는 경우
아래 예제는 모두 3.14를 반환합니다.
js
parseFloat(3.14);
parseFloat('3.14');
parseFloat(' 3.14 ');
parseFloat('314e-2');
parseFloat('0.0314E+2');
parseFloat('3.14와 숫자가 아닌 문자들');
parseFloat({ toString: function() { return "3.14" } });
NaN을 반환하는 경우
다음 예제는 NaN을 반환합니다.
js
parseFloat('FF2');
parseFloat과 BigInt
다음 예제는 부동소수점 실수로 표현하기엔 너무 큰 수를 받거나 n을 무시해서 정확도를 잃어버린 900719925474099300을 반환합니다.
js
parseFloat(900719925474099267n);
parseFloat('900719925474099267n');
명세
| Specification |
|---|
| ECMAScript Language Specification # sec-parsefloat-string |
브라우저 호환성
BCD tables only load in the browser