Maison >interface Web >js tutoriel >Comment convertir une valeur en type numérique en javascript
Comment convertir des valeurs en types numériques en JavaScript : 1. Utilisez la méthode parseInt() pour convertir la valeur en entier ; 2. Utilisez la fonction parseFloat() pour convertir la valeur en nombre à virgule flottante ; Utilisez l'opérateur de multiplication, multipliez la variable par 1, la variable sera automatiquement convertie en valeur numérique et le résultat ne changera pas.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Méthode 1 : Utiliser parseInt()
parseInt() est une méthode globale qui convertit les valeurs en entiers. Le processus de conversion est le suivant :
Analysez d'abord le caractère à la position 0. S'il ne s'agit pas d'un nombre valide, NaN sera renvoyé directement.
Si le caractère en position 0 est un nombre ou peut être converti en un nombre valide, continuez à analyser le caractère en position 1. S'il ne s'agit pas d'un nombre valide, renvoyez directement le nombre valide en position 0.
Et ainsi de suite, en analysant chaque caractère un par un dans l'ordre de gauche à droite jusqu'à ce qu'un caractère non numérique soit trouvé.
parseInt() convertira tous les caractères numériques légaux analysés précédemment en valeurs numériques et les renverra.
console.log(parseInt("123abc")); //返回数字123 console.log(parseInt("1.73")); //返回数字1 console.log(parseInt(".123")); //返回值NaN
Les points dans les nombres à virgule flottante sont des caractères illégaux pour parseInt(), donc la partie décimale de la valeur n'est pas convertie.
S'il s'agit d'une chaîne numérique commençant par 0, parseInt() la traitera comme un nombre octal : convertissez-la d'abord en nombre octal, puis convertissez-la en nombre décimal et renvoyez-la.
S'il s'agit d'une chaîne numérique commençant par 0x, parseInt() la traitera comme un nombre hexadécimal : convertissez-la d'abord en valeur hexadécimale, puis convertissez-la en nombre décimal et renvoyez-la.
var d = 010; //八进制数字字符串 var e = 0x10; //十六进制数字字符串 console.log(parseInt(d)); //返回十进制数字8 console.log(parseInt(e)); //返回十进制数字16
parseInt() prend également en charge le mode base, qui peut convertir des chaînes numériques dans différentes bases telles que binaire, octale et hexadécimale en entiers. Le mode de base est spécifié par le deuxième paramètre de la fonction parseInt().
【Exemple 1】Le code suivant convertit la chaîne de chiffres hexadécimaux "123abc" en un entier décimal.
var a = "123abc"; console.log(parseInt(a,16)); //返回十进制整数1194684
【Exemple 2】Le code suivant convertit les chaînes de chiffres binaires, octaux et décimaux en entiers décimaux.
console.log(parseInt("10",2)); //把二进制数字 10 转换为十进制整数,为 2 console.log(parseInt("10",8)); //把八进制数字 10 转换为十进制整数,为 8 console.log(parseInt("10",10)); //把十进制数字 10 转换为十进制整数,为 10
[Exemple 3] Si le premier paramètre est une valeur décimale et contient un préfixe 0, afin d'éviter d'être compris comme un nombre octal, la valeur du deuxième paramètre doit être spécifiée comme 10, c'est-à-dire que le mode de base est explicitement défini au lieu d’utiliser le mode de base par défaut.
console.log(parseInt("010")); //把默认基模式数字 010 转换为十进制整数为 10 console.log(parseInt("010",8)); //把八进制数字 010 转换为十进制整数为 8 console.log(parseInt("010",10)); //把十进制数字 010 转换为十进制整数为 10
Méthode 2 : utilisez la fonction parseFloat()
parseFloat() est également une méthode globale, elle peut convertir la valeur en un nombre à virgule flottante, c'est-à-dire qu'elle peut reconnaître la première virgule décimale qui apparaît, et la deuxième virgule décimale est considérée comme illégale. Le processus d'analyse est le même que la méthode parseInt().
console.log(parseFloat("1.234.5")); //返回数值 1.234
Le paramètre de parseFloat() doit être une chaîne sous forme décimale et les chaînes numériques octales ou hexadécimales ne peuvent pas être utilisées. Dans le même temps, le 0 devant le nombre (identification du nombre octal) sera ignoré et le nombre hexadécimal renverra 0.
console.log(parseFloat("123")); //返回数值 123 console.log(parseFloat("123abc")); //返回数值 123 console.log(parseFloat("010")); //返回数值 10 console.log(parseFloat("0x10")); //返回数值 0 console.log(parseFloat("x10")); //返回数值 NaN
Méthode 3 : Utilisez l'opérateur de multiplication
Si une variable est multipliée par 1, la variable sera automatiquement convertie en valeur numérique par JavaScript. Après multiplication par 1, le résultat reste inchangé, mais le type de la valeur est converti en valeur numérique. Si la valeur ne peut pas être réduite à un nombre légal, NaN est renvoyé.
var a = 1; //数值 var b = "1"; //数字字符串 console.log(a + (b * 1)); //返回数值 2
【Apprentissage recommandé : Tutoriel avancé javascript】
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!