parseFloat()

La funci贸 parseFloat() interpreta un argument de tipus cadena i retorna un nombre decimal amb coma flotant

Sintaxi

parseFloat(cadena)

Par脿metres

cadena
Una cadena que representa el valor que es vol interpretar.

Descripci贸

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贸 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贸 isFinite per determinar si el resultat 茅s un nombre finit i (no Infinity, -Infinity, o NaN).

Exemples

parseFloat retorna un nombre

Tots 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 NaN

L'exemple seg眉ent retorna NaN

parseFloat("FF2");

Una interpretaci贸 m茅s estricta

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.

Especificacions

Especificaci贸 Estat Comentaris
ECMAScript 1st Edition (ECMA-262) Standard Definici贸 inicial.
ECMAScript 5.1 (ECMA-262)
The definition of 'parseFloat' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'parseFloat' in that specification.
Standard  

Compatibilitat amb navegadors

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)

Caracter铆stica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport b脿sic (Yes) (Yes) (Yes) (Yes) (Yes)
Caracter铆stica Android Chrome per Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport b脿sic (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Vegeu tamb茅