Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Objets natifs standards
  5. parseFloat()

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

parseFloat()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨juillet 2015⁩.

La fonctionparseFloat() permet de transformer une chaîne de caractères en un nombre flottant après avoir analysée celle-ci (parsing).

Exemple interactif

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

Syntaxe

js
parseFloat(string);

Paramètres

string

Une chaîne de caractères la valeur qu'on souhaite analyser et transformer en un nombre flottant.

Valeur de retour

Un nombre flottant obtenu à partir de l'analyse de la chaîne de caractères. Si le premier caractère ne permet pas d'obtenir un nombre, ce sera la valeurNaN qui sera renvoyée.

Description

parseFloat est une fonction non associée à un objet, disponible au plus haut niveau de l'environnement JavaScript.

parseFloat analyse l'argument fourni sous la forme d'une chaîne de caractères et renvoie un nombre flottant correspondant. L'analyse de la chaîne s'arrête dès qu'un caractère qui n'est pas +,-, un chiffre, un point ou un exposant. Ce caractère, ainsi que les suivants, seront ignorés. Les blancs en début et en fin de chaîne sont autorisés.

Note :Si on souhaite avoir un outil de conversion plus strict, on pourra utiliserNumber(valeur) qui utilise une analyse plus stricte et qui fournitNaN pour les valeurs qui contiennent des caractères invalides, quelle que soit leur position.

Si le premier caractère de la chaîne ne peut pas être converti en un nombre,parseFloat() renverraNaN.

Pour des raisons arithmétiques, la valeurNaN n'est jamais un nombre, quelle que soit la base considérée. On peut utiliser la méthodeisNaN afin de déterminer si le résultat obtenu parparseFloat() estNaN. SiNaN est passé comme valeur lors d'opérations arithmétiques, ces opérations renverront égalementNaN comme résultat.

parseFloat() peut également analyser et renvoyer la valeurInfinity qui représente l'infini numérique. Ici, on pourra utiliser la fonctionisFinite() afin de déterminer si le résultat obtenu est un nombre fini (c'est-à-dire qui n'est niInfinity, ni-Infinity, niNaN).

parseFloat() peut également analyser un objet si celui-ci implémente la méthodetoString() ouvalueOf(). La valeur renvoyée parparseFloat() le résultat deparseFloat() appliqué à la valeur renvoyée partoString() ouvalueOf() .

parseFloat() convertit une valeurBigInt en une valeurNumber et perd ainsi en précision car toutes les valeursBigInt ne sont pas représentables enNumber.

Exemples

UtiliserparseFloat() pour renvoyer un nombre

Les instructions suivantes renvoient toutes la valeur3.14 :

js
parseFloat("3.14");parseFloat("314e-2");parseFloat("0.0314E+2");parseFloat("3.14d'autres caractères non numériques");var titi = Object.create(null);titi.valueOf = function () {  return "3.14";};parseFloat(titi);

UtiliserparseFloat() pour renvoyerNaN

Dans cet exemple, le résultat obtenu estNaN :

js
parseFloat("FF2");

parseFloat etBigInt

js
parseFloat(900719925474099267n);// 900719925474099300

Une fonction plus stricte

Si on souhaite éviter de convertir des chaînes qui contiennent des caractères non numériques, on pourra utiliser une expression rationnelle pour filtrer ces valeurs (et obtenir une fonction plus stricte queparseFloat()) :

js
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")); // NaN

Attention : ce code n'est qu'un exemple et renverraNaN pour des valeurs pourtant valides comme1. ou.5.

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-parsefloat-string

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp