--- title: parseFloat() slug: Web/JavaScript/Reference/Global_Objects/parseFloat translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat original_slug: Web/JavaScript/Referencia/Objectes_globals/parseFloat ---
La funció parseFloat()
interpreta un argument de tipus cadena i retorna un nombre decimal amb coma flotant
parseFloat(cadena)
cadena
parseFloat
és una funció de nivell superior que no està associada a cap objecte.
parseFloat
interpreta el seu argument, una cadena, i retorna un nombre decimal amb coma flotant. Si es topa amb un caràcter que no sigui un signe (+ o -), un numeral (0-9), un punt decimal, o un exponent, retorna el valor fins a aquell punt i ignora aquell caràcter i la resta de caràcters que el succeeixen. Es permeten espais inicials i finals.
Si el primer caràcter no es pot convertir en un nombre, parseFloat
retorna NaN
.
Per propòstis aritmètics, el valor de NaN
no és un nombre en qualsevol radix. Es pot cridar la funció {{jsxref("isNaN")}} per determinar si el resultat del parseFloat
és NaN
. Si es passa NaN
en operacions aritmètiques, el resultat de l'operació també serà NaN
.
parseFloat
també pot interpretar i retornar el valor Infinity
. Es pot utilitzar la funció {{jsxref("isFinite")}} per determinar si el resultat és un nombre finit i (no Infinity
, -Infinity
, o NaN
).
parseFloat
retorna un nombreTots els exemples següents retornen 3.14
parseFloat("3.14"); parseFloat("314e-2"); parseFloat("0.0314E+2"); parseFloat("3.14more non-digit characters");
parseFloat
retorna NaNL'exemple següent retorna NaN
parseFloat("FF2");
Sovint és útil tenir una forma més estricta d'interpretar els valors flotants, expressions regulars poden ajudar:
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')); // Infinity console.log(filterFloat('1.61803398875')); // 1.61803398875 console.log(filterFloat('421e+0')); // NaN console.log(filterFloat('421hop')); // NaN console.log(filterFloat('hop1.61803398875')); // NaN
Vegeu que aquest codi és només a mode d'exemple, no accepta nombres vàlids com 1.
o .5
.
Especificació | Estat | Comentaris |
---|---|---|
{{SpecName('ES1')}} | {{Spec2('ES1')}} | Definició inicial. |
{{SpecName('ES5.1', '#sec-15.1.2.3', 'parseFloat')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-parsefloat-string', 'parseFloat')}} | {{Spec2('ES6')}} |
{{CompatibilityTable}}
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suport bàsic | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Característica | Android | Chrome per Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Suport bàsic | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |