Existe-t-il un moyen de convertir une variable de chaîne en numéro?Javascript: Conversion de chaîne en nombre?
Par exemple, j'ai
var str = "1";
Puis-je changer à
var str = 1;
Existe-t-il un moyen de convertir une variable de chaîne en numéro?Javascript: Conversion de chaîne en nombre?
Par exemple, j'ai
var str = "1";
Puis-je changer à
var str = 1;
Essayez str = parseInt(str, 10)
(Note: le second paramètre signifie la base pour l'analyse, dans ce cas, votre nombre sera analysé comme une décimale)
Cela étant dit, cependant, le terme "type" est utilisé assez librement dans JavaScript. Pourriez-vous expliquer pourquoi vous êtes concerné par le type de variable du tout?
Il y a trois façons de le faire:
str = parseInt(str, 10); // 10 as the radix sets parseInt to expect decimals
ou
str = Number(str); // this does not support octals
ou
str = +str; // the + operator causes the parser to convert using Number
Choisissez judicieusement :)
Ma question précédente était erronée. http://bclary.com/2004/11/07/#a-11.4.6 L'opérateur + ne fait pas ce qu'il fait dans les autres langues (foo> 0? foo: -foo;) –
@Consp ... Je ne vous suis pas, quelle est la pertinence? Mais pour votre exemple de code, vous devez utiliser - ou ++ –
Pourquoi ma réponse a-t-elle été rejetée? –
La meilleure façon:
var str = "1";
var num = +str; //simple enough and work with both int and float
Vous pouvez également:
var str = "1";
var num = Number(str); //without new. work with both int and float
ou
var str = "1";
var num = parseInt(str,10); //for integer number
var num = parseFloat(str); //for float number
NE PAS:
var str = "1";
var num = new Number(str); //num will be an object. typeof num == 'object'
Utilisez parseInt uniquement pour le cas particulier, par exemple
var str = "ff";
var num = parseInt(str,16); //255
var str = "0xff";
var num = parseInt(str); //255
Toujours inclure la base. –
@Sean: Merci, corrigé. –
Merci, Fyodor. J'essaie d'extraire le nombre d'une chaîne en utilisant une expression rationnelle, et il renvoie une chaîne, donc je voudrais le convertir en un nombre afin qu'il puisse être traité. – Warrantica