We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

A função parseFloat() analisa um argumento string e retorna um número de ponto flutuante.

Síntaxe

parseFloat(string)

Parâmetros

string
Uma string que representa o valor a ser analisado.

Descrição

parseFloat é uma função top-level e não está associada a nenhum objeto.

parseFloat analisa um argumento string, e retorna um numero de ponto flutuante. Se ele encontrar um carácter diferente de um sinal (+ ou -), numeral (0-9), um ponto decimal, ou um expoente, ele retorna o valor até esse ponto e ignora esse caractere e todos os caracteres seguintes. Espaços a direita e a esquerda são permitidos.

Se o primeiro carácter não puder ser convertido para um número, parseFloat retorna NaN.

Para propósitos aritméticos, o valor NaN não é um número de qualquer raiz. Você pode chamar a função isNaN para determinar se o resultado do parseFloat é NaN. Se NaN for passado em operações aritméticas, a operação também retornará NaN.

parseFloat também pode analisar e retornar o valor Infinity. Você pode usar a função isFinite para determinar se a função é um número finito (not Infinity, -Infinity, ou NaN).

Exemplos

parseFloat retornando um número

O exemplo a seguir sempre retorna 3.14

parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14more non-digit characters");

parseFloat retornando NaN

O exemplo a seguir retorna NaN

parseFloat("FF2");

A função stricter parse

As vezes é útil ter uma maneira mais rigorosa para analisar valores float, expressões regulares podem 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

Observe que este código é somente um exemplo; ele não aceita números válidos, tais como 1. ou 0,5.

Especificações

Especificações Status Comentário
ECMAScript 1st Edition (ECMA-262) Padrão Definição inicial.
ECMAScript 5.1 (ECMA-262)
The definition of 'parseFloat' in that specification.
Padrão  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'parseFloat' in that specification.
Padrão  
ECMAScript Latest Draft (ECMA-262)
The definition of 'parseFloat' in that specification.
Rascunho  

Compátibilidade nos navegadores

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!

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)

Veja também

Etiquetas do documento e colaboradores

Colaboradores desta página: KennyMack
Última atualização por: KennyMack,