Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
parseFloat()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
A funçãoparseFloat analisa um argumento (convertendo-o para uma string primeiro caso necessário) e retorna um número de ponto flutuante (número decimal).
In this article
Experimente
function circumference(r) { return parseFloat(r) * 2.0 * Math.PI;}console.log(circumference(4.567));// Expected output: 28.695307297889173console.log(circumference("4.567abcdefgh"));// Expected output: 28.695307297889173console.log(circumference("abcdefgh"));// Expected output: NaNSintaxe
parseFloat(string);Parâmetros
Retorna
Um número de ponto flutuante dastring dada. OuNaN quando o primeiro carácter, diferente de um espaço em branco, não pôde ser convertido para um número
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 retornaNaN.
Para propósitos aritméticos, o valorNaN não é um número de qualquer raiz. Você pode chamar a funçãoisNaN para determinar se o resultado doparseFloat éNaN. SeNaN for passado em operações aritméticas, a operação também retornaráNaN.
parseFloat também pode analisar e retornar o valorInfinity. Você pode usar a funçãoisFinite para determinar se a função é um número finito (notInfinity,-Infinity, ouNaN).
Exemplos
>parseFloat retornando um número
O exemplo a seguir sempre retorna3.14:
parseFloat("3.14");parseFloat("314e-2");parseFloat("0.0314E+2");parseFloat("3.14more non-digit characters");parseFloat retornandoNaN
O exemplo a seguir retornaNaN
parseFloat("FF2");Uma função de análise estrita
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")); // 421console.log(filterFloat("-421")); // -421console.log(filterFloat("+421")); // 421console.log(filterFloat("Infinity")); // Infinityconsole.log(filterFloat("1.61803398875")); // 1.61803398875console.log(filterFloat("421e+0")); // NaNconsole.log(filterFloat("421hop")); // NaNconsole.log(filterFloat("hop1.61803398875")); // NaNObserve que este código é somente um exemplo; ele não aceita números válidos, tais como 1. ou 0,5.
Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-parsefloat-string> |