parseFloat()

parseFloat() 함수는 주어진 값을 필요한 경우 문자열로 변환한 후 부동소수점 실수로 파싱해 반환합니다.

시도해보기

구문

js
parseFloat(string);

매개변수

string

파싱할 값입니다. 문자열이 아닐 경우 ToString 추상 연산을 사용해 문자열로 변환합니다. 문자열의 선행 공백은 무시합니다.

반환 값

주어진 문자열에서 파싱한 부동소수점 실수입니다.

공백이 아닌 첫 글자를 숫자로 변환할 수 없는 경우 NaN을 반환합니다.

설명

parseFloat은 전역 객체의 함수 속성입니다.

  • parseFloat이 양의 부호(+), 음의 부호(- U+002D HYPHEN-MINUS), 숫자(0-9), 소수점(.), 지수(e, E) 외의 다른 글자를 발견할 경우 해당 문자 이전까지의 문자만 사용해 파싱하며 문제의 문자와 그 이후는 모두 무시합니다.
  • 소수점이 두 개 이상 존재할 경우 두 번째 소수점 역시 위와 같이 무시됩니다.
  • 주어진 값의 선행 및 후행 공백은 무시합니다.
  • 주어진 값의 첫 글자를 숫자로 변환할 수 없는 경우 NaN을 반환합니다.
  • parseFloatInfinity도 파싱 후 반환할 수 있습니다.
  • parseFloatBigInt 구문을 Number로 반환하므로 정확도를 잃습니다. 마지막 n 문자를 무시하기 때문입니다.

더 엄격한 파싱이 필요하면, 유효하지 않은 문자가 어디에나 존재할 시 NaN을 반환하는 Number(value)를 고려하세요.

parseFloattoString이나 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");

parseFloatBigInt

다음 예제는 부동소수점 실수로 표현하기엔 너무 큰 수를 받거나 n을 무시해서 정확도를 잃어버린 900719925474099300을 반환합니다.

js
parseFloat(900719925474099267n);
parseFloat("900719925474099267n");

명세

Specification
ECMAScript Language Specification
# sec-parsefloat-string

브라우저 호환성

BCD tables only load in the browser

같이 보기