j'ai une variable qui stocke la valeur css d'une marge. Je veux supprimer le "px" de la fin de sorte que j'ai juste le numéro avec lequel travailler. Comment puis-je faire ceci?assiette « px » l'extrémité de Jquery var
Répondre
var x = "1px";
var y = parseInt(x, 10); // specify radix to prevent unpredictable behavior
En utilisant la méthode String.replace() est un moyen facile:
Pourquoi le downvote? Je peux penser à plusieurs endroits où parseInt et parseFloat sont trop pointilleux pour un usage général. –
Heh oui, le même utilisateur a également downvoted la question avec ma réponse avant Alex Reitbort a donné sa réponse. Probablement juste un utilisateur malveillant. P –
Vous êtes mieux à l'aide parseFloat()
Dans les situations où vous avez des décimales, comme 0.5s pour le délai de transition, parseInt (x, 10) renvoie zéro, alors que parseFloat() renvoie 0.5
var x = "0.5s";
var y = parseFloat(x); //returns 0.5
La question concerne spécifiquement les pixels ('0.5px' n'est pas aussi commun que' 0.5s'). –
Option 1:
parseInt('200px', 10);
La fonction parseInt() analyse une chaîne et retourne un entier. Ne changez pas le 10 trouvé dans la fonction ci-dessus (connu sous le nom de "radix") à moins que vous sachiez ce que vous faites.
sortie sera: 200.
Option 2(Personnellement, je préfère cette option)
parseFloat('200px')
sortie sera: 200
Le parseFloat () function analyse une chaîne et renvoie un nombre à virgule flottante.
La fonction parseFloat() détermine si le premier caractère de la chaîne de caractères spécifiée est un nombre. Si c'est le cas, il analyse la chaîne jusqu'à ce qu'elle atteigne la fin du nombre, et renvoie le nombre comme un nombre, pas comme une chaîne.
L'avantage de l'option 2 est que si vous utilisez des nombres décimaux (par exemple 200.32322px) vous obtiendrez le nombre retourné avec les valeurs après la virgule. Utile si vous avez besoin de numéros spécifiques retournés.
« Un entier qui représente la base de la chaîne mentionné ci-dessus * Toujours spécifier * ce paramètre pour éliminer la confusion du lecteur et * pour garantir un comportement prévisible * Différentes implémentations produisent des résultats différents lorsqu'un radix n'est pas spécifié. " https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt –
En raison de certains problèmes avec Internet Explorer, vous trouverez peut-être parseFloat est mieux. En effet, IE utilise des pixels partiels, comme 27,86 au lieu de 28. – Teegan