Comme le montrent d'autres réponses ici, il existe plusieurs façons d'effectuer la conversion:
Number('123');
+'123';
parseInt('123');
parseFloat('123.45')
Je voudrais mentionner encore une chose parseInt .
Lors de l'utilisation parseInt, il est logique de toujours passer le paramètre radix . Pour la conversion décimale, c'est 10. Il s'agit de la valeur par défaut du paramètre, c'est pourquoi il peut être omis. Pour binaire, c'est un 2et 16pour hexadécimal. En fait, tout radix compris entre 2 et 36 inclus.
parseInt('123') // 123 (don't do this)
parseInt('123', 10) // 123 (much better)
parseInt('1101', 2) // 13
parseInt('0xfae3', 16) // 64227
La parseIntfonction, eh bien, analyse les chaînes pour les convertir en nombres. Dans certaines implémentations JS, parseIntanalyse les zéros non significatifs comme octaux:
Bien que découragées par ECMAScript 3 et interdites par ECMAScript 5, de nombreuses implémentations interprètent une chaîne numérique commençant par un 0 en tête comme octale. Ce qui suit peut avoir un résultat octal, ou il peut avoir un résultat décimal.Spécifiez toujours un radix pour éviter ce comportement peu fiable.
- MDN
Le fait que le code devienne plus clair est un effet secondaire agréable de la spécification du paramètre radix.
Depuis parseFloat que seules les expressions numériques sont analysées dans Radix 10, il n'est pas nécessaire d'avoir un paramètre Radix ici.
Plus à ce sujet: