parseFloat()

This article needs an editorial review. How you can help.

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

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é

Document Tags and Contributors

 Contributors to this page: llue
 Last updated by: llue,