La conversion des valeurs de pixels en valeurs numériques en JavaScript est une tâche simple et peut être effectuée à l'aide de fonctions intégrées telles que parseInt(), parseFloat(), Number() et la méthode de chaîne Replace(). Chaque méthode a ses propres avantages et inconvénients, et la meilleure méthode à utiliser dépendra des exigences spécifiques du projet.
Il est parfois nécessaire d'utiliser à la fois des valeurs de pixels et des valeurs numériques dans le développement Web lors du positionnement et du style des éléments sur une page Web. Par exemple, pour effectuer un calcul ou une opération sur une valeur, vous devrez peut-être convertir une valeur de pixel (telle que « 100px ») en une valeur numérique (telle que « 100 »). Dans cet article, nous discuterons de la modification des valeurs de pixels en valeurs entières à l'aide de JavaScript.
Une fonction JavaScript intégrée appelée parseInt() peut être utilisée pour convertir des chaînes en entiers. En utilisant la méthode parseInt(), nous pouvons convertir la valeur de chaîne en entier, supprimer l'unité « px » de la chaîne, puis reconvertir l'entier en valeur numérique.
<html> <body> <p id="result1"></p> <p id="result2"></p> <script> let pixelValue = "100px"; document.getElementById("result1").innerHTML = "Pixel value: " + pixelValue ; let numberValue = parseInt(pixelValue); document.getElementById("result2").innerHTML = "Number value: " + numberValue; </script> </body> </html>
Vous pouvez remplacer la valeur spécifiée par une autre valeur à l'aide de la méthode replace(), qui est une méthode de chaîne. Nous pouvons changer la valeur du pixel en valeur numérique en supprimant l'unité "px" de la chaîne à l'aide de la méthode replace().
<html> <body> <p id="result1"></p> <p id="result2"></p> <script> let pixelValue = "100px"; document.getElementById("result1").innerHTML = "Pixel value: " + pixelValue ; let numberValue = parseInt(pixelValue.replace("px", "")); document.getElementById("result2").innerHTML = "Number value: " + numberValue; </script> </body> </html>
Semblable à la méthode parseInt(), la méthode parseFloat() convertit une chaîne en nombre à virgule flottante. La méthode parseFloat() peut être utilisée pour convertir une valeur texte d'un flottant en une valeur entière, et les unités « px » peuvent ensuite être supprimées.
<html> <body> <p id="result1"></p> <p id="result2"></p> <script> let pixelValue = "100.5px"; document.getElementById("result1").innerHTML = "Pixel value: " + pixelValue ; let numberValue = parseFloat(pixelValue.replace("px", "")); document.getElementById("result2").innerHTML = "Number value: " + numberValue; </script> </body> </html>
Le constructeur Number() crée un objet Number qui encapsule la valeur transmise.
<html> <body> <p id="result1"></p> <p id="result2"></p> <script> let pixelValue = "100px"; document.getElementById("result1").innerHTML = "Pixel value: " + pixelValue ; let numberValue = Number(pixelValue.replace("px", "")); document.getElementById("result2").innerHTML = "Number value: " + numberValue; </script> </body> </html>
Pour faire correspondre uniquement les unités px et non aucune sous-chaîne contenant la séquence « px », il est plus sûr d'utiliser une expression régulière comme premier argument lors de l'utilisation de la méthode Replace(). Comme ça -
Une autre remarque importante est que ces méthodes renverront NaN (pas un nombre) si la valeur de pixel transmise n'est pas une chaîne avec "px" à la fin. Il est important d'ajouter une validation dans votre code pour gérer des situations comme celle-ci.
<html> <body> <p id="result1"></p> <p id="result2"></p> <script> let pixelValue = "100px"; document.getElementById("result1").innerHTML = "Pixel value: " + pixelValue ; let numberValue = parseInt(pixelValue.replace(/px/g, "")); document.getElementById("result2").innerHTML = "Number value: " + numberValue; </script> </body> </html>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!