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

Comment convertir une valeur en type numérique en javascript

青灯夜游
青灯夜游original
2021-06-23 15:22:193894parcourir

Méthode de conversion en type numérique : 1. Utilisez la fonction parseInt() pour convertir la valeur en entier, la syntaxe est "parseInt(value)" ; 2. Utilisez la fonction parseFloat() pour convertir le valeur en points flottants, la syntaxe est "parseFloat(value)" ; 3. Utilisez l'opérateur de multiplication, la syntaxe est "value*1".

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 Javascript pour convertir une valeur en type numérique :

Méthode 1 : Utiliser la fonction parseInt()

parseInt() est une méthode globale qui convertit les valeurs en entiers. Le processus de conversion est le suivant :

  • Le caractère en position 0 est analysé en premier. S'il ne s'agit pas d'un nombre valide, NaN est 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 le caractère valide caractère à la position 0 directement.

  • Et ainsi de suite, en analysant chaque caractère un par un de gauche à droite jusqu'à trouver un caractère non numérique.

  • 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 valeur octale, 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

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

Méthode 2 : utilisez la fonction parseFloat()

parseFloat() est également une méthode globale, qui peut convertir la valeur en un nombre à virgule flottante, c'est-à-dire il peut identifier les premières occurrences d'un point décimal, et le deuxième point décimal est considéré comme illégal. 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 : Utiliser 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

[Recommandations associées : Tutoriel d'apprentissage 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