diff options
| author | alattalatta <urty5656@gmail.com> | 2021-11-21 21:51:19 +0900 |
|---|---|---|
| committer | hochan Lee <hochan049@gmail.com> | 2021-12-14 01:02:01 +0900 |
| commit | 340005cf0505a16d18fb63bedb42cc0db0e87a38 (patch) | |
| tree | 9b1d8b4f9bf2fd222d87cedcc447ee8ebb3739f4 /files/ko/web/javascript/reference/global_objects/parsefloat | |
| parent | 751187f65c9eec62df17f46166f1b9faaec4c61e (diff) | |
| download | translated-content-340005cf0505a16d18fb63bedb42cc0db0e87a38.tar.gz translated-content-340005cf0505a16d18fb63bedb42cc0db0e87a38.tar.bz2 translated-content-340005cf0505a16d18fb63bedb42cc0db0e87a38.zip | |
Update parseFloat/parseInt
Diffstat (limited to 'files/ko/web/javascript/reference/global_objects/parsefloat')
| -rw-r--r-- | files/ko/web/javascript/reference/global_objects/parsefloat/index.md | 155 |
1 files changed, 65 insertions, 90 deletions
diff --git a/files/ko/web/javascript/reference/global_objects/parsefloat/index.md b/files/ko/web/javascript/reference/global_objects/parsefloat/index.md index bfc5b2d41e..9b9b6aa2f6 100644 --- a/files/ko/web/javascript/reference/global_objects/parsefloat/index.md +++ b/files/ko/web/javascript/reference/global_objects/parsefloat/index.md @@ -3,118 +3,93 @@ title: parseFloat() slug: Web/JavaScript/Reference/Global_Objects/parseFloat tags: - JavaScript + - Method - Reference -translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat +browser-compat: javascript.builtins.parseFloat --- -<div>{{jsSidebar("Objects")}}</div> +{{jsSidebar("Objects")}} -<p><code><strong>parseFloat()</strong></code> 함수는 문자열을 분석해 부동소수점 실수로 반환합니다.</p> +**`parseFloat()`** 함수는 주어진 값을 필요한 경우 문자열로 변환한 후 부동소수점 실수로 파싱해 반환합니다. -<div>{{EmbedInteractiveExample("pages/js/globalprops-parsefloat.html")}}</div> +{{EmbedInteractiveExample("pages/js/globalprops-parsefloat.html")}} +## 구문 +```js +parseFloat(string) +``` -<h2 id="구문">구문</h2> +### 매개변수 -<pre class="syntaxbox">parseFloat(<em>value</em>)</pre> +- `string` + - : 파싱할 값입니다. 문자열이 아닐 경우 [`ToString`](https://tc39.es/ecma262/#sec-tostring) 추상 연산을 사용해 문자열로 변환합니다. 문자열의 선행 공백은 무시합니다. -<h3 id="매개변수">매개변수</h3> +### 반환 값 -<dl> - <dt><code>value</code></dt> - <dd>변환할 값.</dd> -</dl> +주어진 문자열에서 파싱한 부동소수점 실수입니다. -<h3 id="반환_값">반환 값</h3> +공백이 아닌 첫 글자를 숫자로 변환할 수 없는 경우 {{jsxref("NaN")}}을 반환합니다. -<p>주어진 값에서 분석한 부동소수점 수. 분석할 수 없으면 {{jsxref("NaN")}}.</p> +## 설명 -<h2 id="설명">설명</h2> +`parseFloat`은 전역 객체의 함수 속성입니다. -<p><code>parseFloat()</code>은 최상위 함수로 어떠한 객체와도 연결되어 있지 않습니다.</p> +- `parseFloat`이 양의 부호(`+`), 음의 부호(`-` U+002D HYPHEN-MINUS), 숫자(`0`-`9`), 소수점(`.`), 지수(`e`, `E`) 외의 다른 글자를 발견할 경우 해당 문자 이전까지의 문자만 사용해 파싱하며 문제의 문자와 그 이후는 모두 무시합니다. +- 소수점이 두 개 이상 존재할 경우 두 번째 소수점 역시 위와 같이 무시됩니다. +- 주어진 값의 선행 및 후행 공백은 무시합니다. +- 주어진 값의 첫 글자를 숫자로 변환할 수 없는 경우 {{jsxref("NaN")}}을 반환합니다. +- `parseFloat`은 {{jsxref("Infinity")}}도 파싱 후 반환할 수 있습니다. +- `parseFloat`은 {{jsxref("BigInt")}} 구문을 {{jsxref("Number")}}로 반환하므로 정확도를 잃습니다. 마지막 `n` 문자를 무시하기 때문입니다. -<p><code>parseFloat()</code>은 매개변수로 주어진 값 분석하고 부동소수점 수를 반환합니다. 기호(+, -), 숫자(0-9), 소수점 또는 지수 이외의 문자를 발견하면, 그 전까지의 결과만 반환하고 문제의 문자와 그 이후는 모두 무시합니다. 위치에 상관하지 않고, 그런 문자를 발견하면 {{jsxref("NaN")}}을 반환하는 더 엄격한 방법이 필요하면 {{jsxref("Number", "Number(value)")}}를 고려하세요.</p> +더 엄격한 파싱이 필요하면, 유효하지 않은 문자가 어디에나 존재할 시 {{jsxref("NaN")}}을 반환하는 {{jsxref("Number", "Number(value)")}}를 고려하세요. -<p>값이 문자열인데 첫 번째 문자를 숫자로 변환할 수 없는 경우 <code>parseFloat()</code>도 <code>NaN</code>을 반환합니다.</p> +`parseFloat`은 {{jsxref("Object.toString", "toString")}}이나 {{jsxref("Object.valueOf", "valueOf")}} 메서드를 구현한 객체도 파싱할 수 있습니다. 이 때의 결과는 객체의 `toString()`, `valueOf()`의 반환 값을 `parseFloat`에 전달한 것과 동일합니다. -<p>수학적으로 <code>NaN</code>은 어떤 진법에도 속하지 않습니다. {{jsxref("isNaN", "isNaN()")}} 함수를 사용해 결과 값이 <code>NaN</code>인지 확인할 수 있습니다. <code>NaN</code>을 다른 값과의 수학 연산에 사용하면 그 결과도 언제나 <code>NaN</code>이 됩니다.</p> +## 예제 -<p><code>parseFloat()</code>은 {{jsxref("Infinity")}}도 분석 및 반환할 수 있습니다. {{jsxref("isFinite", "isFinite()")}} 함수를 사용해 결과 값이 유한수(<code>Infinity</code>, <code>-Infinity</code>, <code>NaN</code>이 아닌 수)인지 알 수 있습니다.</p> +### 숫자를 반환하는 경우 -<p><code>parseFloat()</code>은 <code>toString</code>이나 <code>valueOf</code> 메서드를 구현한 객체도 분석할 수 있습니다. 이 때의 결과는 객체의 <code>toString()</code>, <code>valueOf()</code>의 반환 값을 <code>parseFloat()</code>에 전달한 것과 동일합니다.</p> +아래 예제는 모두 `3.14`를 반환합니다. -<h2 id="예제">예제</h2> - -<h3 id="숫자를_반환하는_경우">숫자를 반환하는 경우</h3> - -<p>아래 예제는 모두 <code>3.14</code>를 반환합니다.</p> - -<pre class="brush: js">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`을 반환하는 경우 + +다음 예제는 {{jsxref("NaN")}}을 반환합니다. + +```js +parseFloat('FF2'); +``` + +### `parseFloat`과 `BigInt` + +다음 예제는 부동소수점 실수로 표현하기엔 너무 큰 수를 받거나 `n`을 무시해서 정확도를 잃어버린 `900719925474099300`을 반환합니다. + +```js +parseFloat(900719925474099267n); +parseFloat('900719925474099267n'); +``` + +## 명세 + +{{Specifications}} + +## 브라우저 호환성 + +{{Compat}} + +## 같이 보기 -var foo = Object.create(null); -foo.toString = function () { return "3.14"; }; -parseFloat(foo); - -var foo = Object.create(null); -foo.valueOf = function () { return "3.14"; }; -parseFloat(foo); -</pre> - -<h3 id="NaN을_반환하는_경우"><code>NaN</code>을 반환하는 경우</h3> - -<p>다음 예제는 {{jsxref("NaN")}}을 반환합니다.</p> - -<pre class="brush: js">parseFloat('FF2'); -</pre> - -<h2 id="명세">명세</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Initial definition.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.1.2.3', 'parseFloat')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-parsefloat-string', 'parseFloat')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-parsefloat-string', 'parseFloat')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="브라우저_호환성">브라우저 호환성</h2> - - - -<p>{{Compat("javascript.builtins.parseFloat")}}</p> - -<h2 id="같이_보기">같이 보기</h2> - -<ul> - <li>{{jsxref("Global_Objects/parseInt", "parseInt()")}}</li> - <li>{{jsxref("Number.parseFloat()")}}</li> - <li>{{jsxref("Number.parseInt()")}}</li> - <li>{{jsxref("Number.toFixed()")}}</li> - <li>{{jsxref("Global_Objects/isNaN", "isNaN()")}}</li> -</ul> +- {{jsxref("parseInt", "parseInt()")}} +- {{jsxref("Number.parseFloat()")}} +- {{jsxref("Number.parseInt()")}} +- {{jsxref("Number.toFixed()")}} +- {{jsxref("isNaN", "isNaN()")}} |
