Je souhaite convertir la chaîne "15,678" en une valeur 15678. Les méthodes parseInt()
et parseFloat()
renvoient tous deux 15 pour "15,678". Y a-t-il un moyen facile de faire ceci?En JavaScript/jQuery quel est le meilleur moyen de convertir un nombre avec une virgule en nombre entier?
Répondre
L'option la plus simple est de supprimer toutes les virgules: parseInt(str.replace(/,/g, ''), 10)
Vous pouvez le faire comme ceci:
var value = parseInt("15,678".replace(",", ""));
Une façon est de supprimer tous les virgules avec:
strnum = strnum.replace(/\,/g, '');
et puis passer cela à parseInt:
var num = parseInt(strnum.replace(/\,/g, ''), 10);
Mais vous devez faire attention ici. L'utilisation de virgules comme séparateurs de milliers est une chose culturelle. Dans certaines régions, le numéro 1,234,567.89
serait écrit 1.234.567,89
.
'parseInt()' devrait être fourni une base lors de son appel, pour éliminer l'interprétation hexadécimale d'un nombre. –
Utilisez un regex pour supprimer les virgules avant l'analyse syntaxique, comme celui-ci
parseInt(str.replace(/,/g,''), 10)
//or for decimals as well:
parseFloat(str.replace(/,/g,''))
Si vous avez seulement des chiffres et des virgules:
+str.replace(',', '')
Le +
jette la chaîne str
en un nombre si possible. Pour que cela soit aussi clair que possible, l'envelopper avec parens:
(+str.replace(',', ''))
donc, si vous l'utilisez dans une déclaration, il est plus visuellement séparé (+ + x ressemble beaucoup à ++ x):
var num = (+str1.replace(',', '')) + (+str1.replace(',', ''));
conventions de code Javascript (Voir "plus déroutantes et Minuses", deuxième section du bas):
votre solution remplacera seulement la première virgule, pas toutes, donc cela ne fonctionnera pas pour les nombres> = 1 000 000 –
votre solution remplacera uniquement la première virgule, pas tous il ne fonctionnera pas pour les nombres> = 1 000 000 –
@ daniel.sedlacek la question était "Je veux convertir la chaîne" 15 678 "en une valeur de 15678". Ma réponse résout ce problème. Je suis pédant ici, bien sûr, mais techniquement correct;) – treeface