Maison >interface Web >js tutoriel >Comment convertir une valeur en type numérique en javascript

Comment convertir une valeur en type numérique en javascript

青灯夜游
青灯夜游original
2021-07-20 15:03:087119parcourir

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.

Comment convertir une valeur en type numérique en javascript

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn