Extraction de nombres en JavaScript
La fonction Number ne fonctionne qu'avec
des chaînes de caractères composées de chiffres.
Cependant, lors de la programmation en JavaScript,
on rencontre souvent des situations où vous devez
traiter des chaînes qui commencent par un nombre,
suivi de lettres.
Un exemple d'une telle chaîne peut être une valeur
en pixels : '12px'. Supposons que nous ayons besoin
d'obtenir le nombre au début, en écartant la
partie chaîne. Pour une telle opération, il existe
la fonction parseInt. Regardons son fonctionnement
sur un exemple :
let num = parseInt('12px');
alert(num); // affichera 12
Cependant, les pixels sont parfois fractionnaires :
'12.5px'. Dans ce cas, la fonction parseInt
est impuissante et n'affiche que la partie entière :
let num = parseInt('12.5px');
alert(num); // affichera quand même 12
En général, il est possible que ce comportement soit
exactement ce dont vous avez besoin. Mais si ce n'est pas le cas, utilisez
la fonction parseFloat, qui extrait le nombre
avec sa partie décimale :
let num = parseFloat('12.5px');
alert(num); // affichera 12.5
Bien sûr, l'absence de partie décimale n'empêche pas
la fonction parseFloat de fonctionner correctement :
let num = parseFloat('12px');
alert(num); // affichera 12
Soit une variable avec la valeur '5px' et
une variable avec la valeur '6px'. Trouvez
la somme des pixels des valeurs de ces variables
et affichez-la à l'écran.
Soit une variable avec la valeur '5.5px'
et une variable avec la valeur '6.25px'.
Trouvez la somme des pixels des valeurs de ces variables
et affichez-la à l'écran.
Modifiez le problème précédent de sorte que
les lettres 'px' soient ajoutées au résultat
affiché. C'est-à-dire que si notre somme est égale à
11.75, alors l'écran doit afficher
'11.75px'.