Comment convertir une chaîne en nombre
Je peux pas comprendre comment faire pour convertir cette chaîne 82144251
pour un certain nombre.
Code:
var num = "82144251";
Si j'ai essayer le code ci-dessous la .toFixed()
fonction permet de convertir mon nombre en une chaîne de caractères...
Question de mise à jour:
Je suis en utilisant Google Apps Script-éditeur et qui doit être la question...
num = parseInt(num).toFixed() //if I just do parseInt(num) it returns 8.2144251E7
- Le
.toFixed()
fonction n'est, en fait, de retour d'une chaîne, pas un numéro. - developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
- vous êtes à la recherche pour
Number(num)
- Notez également que
8.2144251E7
est précisément la même valeur que82144251
. - le même problème avec le Numéro(num)
- J'ai essayé avec .toFixed(0), il renvoie toujours une chaîne de caractères
- J'ai besoin d'être exactement
82144251
, sans décimales - Pourquoi faites-vous appel à
.toFixed()
à tous?parseInt()
renvoie un nombre, c'est tout ce dont vous avez besoin. - C'est parce que
.toFixed()
renvoie toujours une chaîne de caractères comme la documentation, je fournis explique. Voir ma réponse ci-dessous pour un correctif. - Je ne comprends pas pourquoi le résultat de
parseInt
n'est pas ce que vous êtes après. - quel problème? "parseInt(num) renvoie 8.2144251E7"? - non, il n'est pas
- Mise à jour de ma question, désolé! Le script google editor est un gâchis.
8.2144251E7
est exactement82144251
. Ils sont deux façons d'écrire la même valeur numérique. Effectuer une===
la comparaison, si vous ne me croyez pas. Lorsque vousalert()
ouconsole.log()
un certain nombre, il est converti en une chaîne de caractères pour l'affichage.num =+ "num";
est le problème. Qu'est-ce que cette ligne censé faire?- il fixe.
- ok, je pense que c'est
Logger.log
qui corrompt vos données. Essayez de l'insérernum
dans le document, il devrait être tout droit - Je vais me renseigner, merci!
- Double Possible de Javascript: Conversion d'une Chaîne à Nombre?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez convertir une chaîne en nombre à l'aide de l'opérateur unaire " + " ou parseInt(numéro 10) ou en Nombre()
vérifier ces extraits
JS:
Espère que cela aide
+num
convertit la chaîne de caractères en un nombre, personnellement, je ne serait pas l'utiliser. Elle a toujours l'air comme le+
accidentellement laissé plus de.+=
+num
a été source de confusion, je l'ai ditnum=+num
peut être facilement confondu avecnum+=num
.Aucune question n'est stupide.
une réponse rapide:
pour convertir une chaîne en nombre, vous pouvez utiliser le unaire plus.
Faire
num = +num
est pratiquement le même que le fait de fairenum = num * 1;
il convertit la valeur en un nombre si nécessaire, mais après cela, il ne change pas la valeur.num = parseInt(num).toFixed()
retourne une chaîne avec un E en elle.On dirait que vous êtes à la recherche pour le
Number()
fonctionnalités ici:Vous pouvez en lire plus à propos de
Number()
ici: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberEspérons que cette aide!
Number()
,String()
etBoolean()
constructeur fonctions.Number()
une mauvaise pratique?parseInt
etNumber
ont des fins différentes. Si je veux accepter100px
ou similaire en entrée puisparseInt
sera utile, si je veux m'assurer que la chaîne ne contient que des nombres (y compris de fuite et les espaces,e
notation et hex) puisNumber()
me donnerait le résultat correct.new
et nous avons d'autres plus intuitive pour faire le travail.new Number()
. Cela est vrai deString()
etBoolean()
ainsi.JS:
8.2144251E7
au lieu de82144251
var intNum = parseInt("82144251", 10); //intNum est le numéro
- Je utiliser num-0, car il est plus facile pour les utiliser.