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
137
138
139
|
---
title: parseFloat()
slug: Web/JavaScript/Reference/Global_Objects/parseFloat
translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat
---
<div>
<div>
<div>
{{jsSidebar("Objects")}}</div>
</div>
</div>
<h2 id="Sommario">Sommario</h2>
<p>La funzione <code><strong>parseFloat()</strong></code> riceve una stringa come argomento e ritorna un numero in virgola mobile.</p>
<h2 id="Sintassi">Sintassi</h2>
<pre class="syntaxbox">parseFloat(<em>string</em>)</pre>
<h3 id="Parametri">Parametri</h3>
<dl>
<dt>
<code>string</code></dt>
<dd>
Una stringa che rapprestena il valore da analizzare.</dd>
</dl>
<h2 id="Descrizione">Descrizione</h2>
<p><code>parseFloat</code> è una funzione primo livello ( globale ) e non è associata con nessun oggetto.</p>
<p><code>parseFloat</code> analizza il parametro rappresentato da una stringa e ritorna un numero in virgola mobile. Se rileva un carattere diverso da segni ( + o - ), numeri ( 0 - 9 ), punto di separazione decimale o un esponente, la funzione ritorna il valore fino a quel punto ignorando il carattere rilevato e tutti quelli successvi. Gli spazi bianchi, iniziali e finali, sono consentiti.</p>
<p>Se il primo carattere dell'argomento non può essere analizzato, <code>parseFloat</code> ritorna <code>NaN</code>.</p>
<p>Per questioni aritmetiche, il valore <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace; line-height: 1.5;">NaN </span><span style="line-height: 1.5;">non è di tipo numerico. Per determinare se il risultato di ParseFloat è </span><code>NaN</code><span style="line-height: 1.5;"> occorre chiamare la funzione </span><span style="line-height: 1.5;">{{jsxref("Global_Objects/isNaN", "isNaN")}}. Se <code>NaN</code> viene utilizzato per un operazione aritmetica, la stessa risulterà <code>NaN</code></span>.</p>
<p><font face="Consolas, Monaco, Andale Mono, monospace">parseFloat </font>può analizzare e ritornare il valore<font face="Consolas, Monaco, Andale Mono, monospace"> Infinity. </font>La funzione<font face="Consolas, Monaco, Andale Mono, monospace"><code> </code></font><span style="line-height: 1.5;">{{jsxref("Global_Objects/isNaN", "isNaN")}} consente di determinare se il risultato è un numero finito </span><span style="line-height: 1.5;"> (not </span><code style="font-style: normal; line-height: 1.5;">Infinity</code><span style="line-height: 1.5;">, </span><code style="font-style: normal; line-height: 1.5;">-Infinity</code><span style="line-height: 1.5;">, o </span><code style="font-style: normal; line-height: 1.5;">NaN</code><span style="line-height: 1.5;">).</span></p>
<h2 id="Esempi">Esempi</h2>
<h3 id="Esempio_parseFloat_ritorna_un_numero">Esempio: <code>parseFloat</code> ritorna un numero</h3>
<p>Tutti gli esempi seguenti ritornano 3.14</p>
<pre class="brush:js">parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14altri caratteri non numerici");
</pre>
<h3 id="Esempio_parseFloat_ritorna_NaN">Esempio: <code>parseFloat</code> ritorna NaN</h3>
<p>L'esempio seguente ritorna il valore <code>NaN</code></p>
<pre class="brush: js">parseFloat("FF2");
</pre>
<h3 id="Una_funzione_di_analisi_più_approfondita.">Una funzione di analisi più approfondita.</h3>
<p>Talvolta può essere necessario un maggior controllo sulla funzione di parse, le regular expression possono aiutare :</p>
<pre class="brush: js">var filterFloat = function (value) {
if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
.test(value))
return Number(value);
return NaN;
}
console.log(filterFloat('421')); // 421
console.log(filterFloat('-421')); // -421
console.log(filterFloat('+421')); // 421
console.log(filterFloat('Infinity')); // Infinito
console.log(filterFloat('1.61803398875')); // 1.61803398875
console.log(filterFloat('421e+0')); // NaN
console.log(filterFloat('421hop')); // NaN
console.log(filterFloat('hop1.61803398875')); // NaN
</pre>
<p>Nota: questo codice è a scopo esplicativo. La funzione non accetta numeri validi come 1. o .5+</p>
<h2 id="Specifiche">Specifiche</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specifica</th>
<th scope="col">Stato</th>
<th scope="col">Commento</th>
</tr>
<tr>
<td>ECMAScript 1a Edizione.</td>
<td>Standard</td>
<td>Definizione iniziale.</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>
</tbody>
</table>
<h2 id="Compatibilità_Browser">Compatibilità Browser</h2>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Android</th>
<th>Chrome for Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
</tr>
</tbody>
</table>
</div>
<h2 id="See_Also" name="See_Also">Leggi anche:</h2>
<ul>
<li>{{jsxref("Global_Objects/parseInt", "parseInt()")}}</li>
<li>{{jsxref("Number.parseFloat()")}}</li>
<li>{{jsxref("Number.parseInt()")}}</li>
<li>{{jsxref("Global_Objects/isNaN", "isNaN()")}}</li>
</ul>
|