| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/parseFloat | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
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 fonction parseFloat() permet de transformer une chane de caractres en un nombre flottant aprs avoir analyse celle-ci (parsing).
function circumference(r) {
return parseFloat(r) * 2.0 * Math.PI;
}
console.log(circumference(4.567));
// Expected output: 28.695307297889173
console.log(circumference("4.567abcdefgh"));
// Expected output: 28.695307297889173
console.log(circumference("abcdefgh"));
// Expected output: NaN
parseFloat(string);
stringUne chane de caractres la valeur qu'on souhaite analyser et transformer en un nombre flottant.
Un nombre flottant obtenu partir de l'analyse de la chane de caractres. Si le premier caractre ne permet pas d'obtenir un nombre, ce sera la valeur NaN qui sera renvoye.
parseFloat est une fonction non associe un objet, disponible au plus haut niveau de l'environnement JavaScript.
parseFloat analyse l'argument fourni sous la forme d'une chane de caractres et renvoie un nombre flottant correspondant. L'analyse de la chane s'arrte ds qu'un caractre qui n'est pas +,-, un chiffre, un point ou un exposant. Ce caractre, ainsi que les suivants, seront ignors. Les blancs en dbut et en fin de chane sont autoriss.
Note :
Si on souhaite avoir un outil de conversion plus strict, on pourra utiliser Number(valeur) qui utilise une analyse plus stricte et qui fournit NaN pour les valeurs qui contiennent des caractres invalides, quelle que soit leur position.
Si le premier caractre de la chane ne peut pas tre converti en un nombre, parseFloat() renverra NaN.
Pour des raisons arithmtiques, la valeur NaN n'est jamais un nombre, quelle que soit la base considre. On peut utiliser la mthode isNaN afin de dterminer si le rsultat obtenu par parseFloat() est NaN. Si NaN est pass comme valeur lors d'oprations arithmtiques, ces oprations renverront galement NaN comme rsultat.
parseFloat() peut galement analyser et renvoyer la valeur Infinity qui reprsente l'infini numrique. Ici, on pourra utiliser la fonction isFinite() afin de dterminer si le rsultat obtenu est un nombre fini (c'est--dire qui n'est ni Infinity, ni -Infinity, ni NaN).
parseFloat() peut galement analyser un objet si celui-ci implmente la mthode toString() ou valueOf(). La valeur renvoye par parseFloat() le rsultat de parseFloat() appliqu la valeur renvoye par toString() ou valueOf() .
parseFloat() convertit une valeur BigInt en une valeur Number et perd ainsi en prcision car toutes les valeurs BigInt ne sont pas reprsentables en Number.
parseFloat() pour renvoyer un nombreLes instructions suivantes renvoient toutes la valeur 3.14 :
parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14d'autres caractres non numriques");
var titi = Object.create(null);
titi.valueOf = function () {
return "3.14";
};
parseFloat(titi);
parseFloat() pour renvoyer NaNDans cet exemple, le rsultat obtenu est NaN :
parseFloat("FF2");
parseFloat et BigIntparseFloat(900719925474099267n);
// 900719925474099300
Si on souhaite viter de convertir des chanes qui contiennent des caractres non numriques, on pourra utiliser une expression rationnelle pour filtrer ces valeurs (et obtenir une fonction plus stricte que parseFloat()) :
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
Attention : ce code n'est qu'un exemple et renverra NaN pour des valeurs pourtant valides comme 1. ou .5.
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-parsefloat-string |
Cette page a t modifie le 22 mai 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |