aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/global_objects/parsefloat/index.html
blob: 03cb0bc158287687f4266d2f3cdd69c6addb8bba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
---
title: parseFloat()
slug: Web/JavaScript/Reference/Global_Objects/parseFloat
tags:
  - JavaScript
  - Number
  - Reference
translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat
---
<div>
<div>
<div>{{jsSidebar("Objects")}}</div>
</div>
</div>

<p>Функция <code><strong>parseFloat()</strong></code> принимает строку в качестве аргумента и возвращает десятичное число (число с плавающей точкой)</p>

<p> </p>

<p>{{EmbedInteractiveExample("pages/js/globalprops-parsefloat.html")}}</p>

<div class="hidden">
<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p>
</div>

<p> </p>

<h2 id="Синтаксис">Синтаксис</h2>

<pre class="syntaxbox">parseFloat(<em>строка</em>)</pre>

<h3 id="Параметры">Параметры</h3>

<dl>
 <dt><code>строка</code></dt>
 <dd>Текстовая строка, из которой вам надо выделить десятичное число.</dd>
</dl>

<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>

<p>Число с плавающей точкой, полученное из строки. Если первый символ не может быть сконвертирован в число, то возвращается {{jsxref("NaN")}}.</p>

<h2 id="Описание">Описание</h2>

<p><code>parseFloat</code> - это высокоуровневая функция, не привязанная ни к одному объекту.</p>

<p><code>parseFloat</code> разбирает текстовую строку, ищет и возвращает из нее десятичное число. Если функция встретит знак, отличный от (+ или -), цифр(0-9), разделительной точки, или показателя степени, она вернет значение, предшествующее этому знаку, игнорируя все последующие символы . Допускаются позади и впереди идущие пробелы.</p>

<p>Если первый символ нельзя привести к числовому виду, <code>parseFloat</code> вернет<code> NaN</code>.</p>

<p>С точки зрения математики, <code>значение NaN</code> не является числом в какой-либо системе счисления. Чтобы определить, вернет ли <code>parseFloat </code>значение {{jsxref("NaN")}} в качестве результата, можно вызвать функцию {{jsxref("Global_Objects/isNaN", "isNaN")}}. Если <code>NaN</code> участвует в арифметических операциях, результатом также будет <code>NaN</code>.</p>

<p><code>parseFloat</code> также может вернуть значение <code>Infinity</code> ("бесконечность"). Вы можете использовать функцию {{jsxref("Global_Objects/isFinite", "isFinite")}}, чтобы определить, является ли результат конечным числом  (not <code>Infinity</code>, <code>-Infinity</code>, или <code>NaN</code>).</p>

<h2 id="Примеры">Примеры</h2>

<h3 id="parseFloat_возвращает_число"><code>parseFloat</code> возвращает число</h3>

<p>Все примеры ниже вернут <strong>3.14</strong></p>

<pre><code>parseFloat(3.14);
parseFloat('3.14');
parseFloat('314e-2');
parseFloat('0.0314E+2');
parseFloat('</code>3.14какие-нибудь не цифровые знаки<code>');

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);​​​​​</code></pre>

<p> </p>

<h3 id="parseFloat_возвращает_NaN"><code>parseFloat</code> возвращает NaN</h3>

<p>Пример ниже вернет <code>NaN</code></p>

<pre class="brush: js">parseFloat("FF2");
</pre>

<h2 id="Спецификации">Спецификации</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Спецификация</th>
   <th scope="col">Статус</th>
   <th scope="col">Комментарий</th>
  </tr>
  <tr>
   <td>{{SpecName('ES1')}}</td>
   <td>{{Spec2('ES1')}}</td>
   <td>Изначальное определение</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> </p>

<div class="hidden">
<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
</div>

<p>{{Compat("javascript.builtins.parseFloat")}}</p>

<p> </p>

<h2 id="See_Also" name="See_Also">Смотрите также</h2>

<ul>
 <li>{{jsxref("parseInt", "parseInt()")}}</li>
 <li>{{jsxref("Number.parseFloat()")}}</li>
 <li>{{jsxref("Number.parseInt()")}}</li>
 <li>{{jsxref("Number.toFixed()")}}</li>
 <li>{{jsxref("isNaN", "isNaN()")}}</li>
</ul>