parseFloat()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itโs been available across browsers since โจ2015๋ 7์โฉ.
parseFloat() ํจ์๋ ์ฃผ์ด์ง ๊ฐ์ ํ์ํ ๊ฒฝ์ฐ ๋ฌธ์์ด๋ก ๋ณํํ ํ ๋ถ๋์์์ ์ค์๋ก ํ์ฑํด ๋ฐํํฉ๋๋ค.
์๋ํด ๋ณด๊ธฐ
function circumference(r) {
return parseFloat(r) * 2.0 * Math.PI;
}
console.log(circumference(4.567));
// Expected output: 28.695307297889173
console.log(circumference("4.567abcdefgh"));
// Expected output: 28.695307297889173
console.log(circumference("abcdefgh"));
// Expected output: NaN
๊ตฌ๋ฌธ
parseFloat(string);
๋งค๊ฐ๋ณ์
๋ฐํ ๊ฐ
์ฃผ์ด์ง ๋ฌธ์์ด์์ ํ์ฑํ ๋ถ๋์์์ ์ค์์ ๋๋ค.
๊ณต๋ฐฑ์ด ์๋ ์ฒซ ๊ธ์๋ฅผ ์ซ์๋ก ๋ณํํ ์ ์๋ ๊ฒฝ์ฐ 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๋ฅผ ๋ฐํํฉ๋๋ค.
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์ ๋ฐํํฉ๋๋ค.
parseFloat("FF2");
parseFloat๊ณผ BigInt
๋ค์ ์์ ๋ ๋ถ๋์์์ ์ค์๋ก ํํํ๊ธฐ์ ๋๋ฌด ํฐ ์๋ฅผ ๋ฐ๊ฑฐ๋ n์ ๋ฌด์ํด์ ์ ํ๋๋ฅผ ์์ด๋ฒ๋ฆฐ 900719925474099300์ ๋ฐํํฉ๋๋ค.
parseFloat(900719925474099267n);
parseFloat("900719925474099267n");
๋ช ์ธ
| Specification |
|---|
| ECMAScriptยฎ 2026 Languageย Specification> # sec-parsefloat-string> |