Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.
Sommario
La funzione parseFloat()
riceve una stringa come argomento e ritorna un numero in virgola mobile.
Sintassi
parseFloat(string)
Parametri
-
string
- Una stringa che rapprestena il valore da analizzare.
Descrizione
parseFloat
è una funzione primo livello ( globale ) e non è associata con nessun oggetto.
parseFloat
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.
Se il primo carattere dell'argomento non può essere analizzato, parseFloat
ritorna NaN
.
Per questioni aritmetiche, il valore NaN non è di tipo numerico. Per determinare se il risultato di ParseFloat è NaN
occorre chiamare la funzione isNaN
. Se NaN
viene utilizzato per un operazione aritmetica, la stessa risulterà NaN
.
parseFloat può analizzare e ritornare il valore Infinity. La funzione
isNaN
consente di determinare se il risultato è un numero finito (not Infinity
, -Infinity
, o NaN
).
Esempi
Esempio: parseFloat
ritorna un numero
Tutti gli esempi seguenti ritornano 3.14
parseFloat("3.14"); parseFloat("314e-2"); parseFloat("0.0314E+2"); parseFloat("3.14altri caratteri non numerici");
Esempio: parseFloat
ritorna NaN
L'esempio seguente ritorna il valore NaN
parseFloat("FF2");
Una funzione di analisi più approfondita.
Talvolta può essere necessario un maggior controllo sulla funzione di parse, le regular expression possono aiutare :
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
Nota: questo codice è a scopo esplicativo. La funzione non accetta numeri validi come 1. o .5+
Specifiche
Specifica | Stato | Commento |
---|---|---|
ECMAScript 1a Edizione. | Standard | Definizione iniziale. |
ECMAScript 5.1 (ECMA-262) The definition of 'parseFloat' in that specification. |
Standard | |
ECMAScript 6 (ECMA-262) The definition of 'parseFloat' in that specification. |
Release Candidate |
Compatibilità Browser
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |