Maison  >  Article  >  interface Web  >  Comment convertir des valeurs numériques en javascript ? Résumé des méthodes de conversion numérique javascript

Comment convertir des valeurs numériques en javascript ? Résumé des méthodes de conversion numérique javascript

不言
不言original
2018-09-13 16:02:401349parcourir

Le contenu de cet article explique comment convertir des valeurs numériques en JavaScript ? Le résumé des méthodes de conversion numérique JavaScript a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer, j'espère qu'il vous sera utile.

Les trois fonctions suivantes convertissent les valeurs non numériques en valeurs numériques : Number(), parseInt() et parseFloat()

Règles de conversion pour Number()

Booléen La valeur true sera convertie en 1 et false sera convertie en 0

var correct = true
Number(correct)
1
var error = false
Number(error)
0

Quelle que soit la valeur numérique transmise, qu'est-ce qui sera renvoyé 🎜>indéfini, renvoie NaN

 ?
var sales = 10
Number(sales)
10

chaîne, en suivant les règles suivantes :

var arg = null
Number(arg)
0
Si la chaîne ne contient que des nombres (y compris la casse avec un signe positif ou négatif devant), alors elle sera convertie en valeur décimale, c'est-à-dire que "1"

deviendra 1, "123" deviendra 123 et "011" deviendra 11 (remarque : les zéros non significatifs sont ignorés)

var vara = undefined
Number(vara)
NaN

Si la chaîne contient un valide format à virgule flottante, tel que "1.1", convertissez-le en valeur à virgule flottante correspondante (de même,

les zéros non significatifs seront également ignorés)


Si la chaîne contient un format hexadécimal valide, tel que comme "0xf", convertissez-le en un entier décimal
var str = '1'
Number(str)
1
var str1 = '011'
Number(str1)
11
var str2 = '+1'
Number(str2)
1
var str3 = '-001'
Number(str3)
-1
var str4 = '-121'
Number(str4)
-121
de la même taille qu'une valeur numérique


Si la chaîne est vide (ne contient aucun caractère), convertissez-la en 0

var str = '1.1'
Number(str)
1.1
var str1 = '+1.1'
Number(str1)
1.1
var str2 = '-01.1'
Number(str2)
-1.1

Si la chaîne contient des caractères autres que le format ci-dessus, convertissez-la en NaN

var str = ''
Number(str)
0
S'il s'agit d'un objet, appelez la méthode valueOf() de l'objet, puis convertissez la valeur renvoyée selon les règles précédentes. Si le résultat de la conversion est NaN, appelez la méthode toString() de l'objet, puis convertissez à nouveau la valeur de chaîne renvoyée selon les règles précédentes

var str = 'adfsfdsa'
Number(str)
NaN
    règles de conversion parseInt()
  1. Étant donné que la fonction Number() est complexe et déraisonnable lors de la conversion de chaînes, la fonction

    parseInt() est plus couramment utilisée lors du traitement d'entiers. Lorsque la fonction parseInt() convertit une chaîne, cela dépend davantage de sa conformité au modèle numérique. Il ignore les espaces avant la chaîne
  2. jusqu'à ce qu'il trouve le premier caractère autre qu'un espace. Si le premier caractère n'est pas un caractère numérique, parseInt()
renverra NaN ; c'est-à-dire que l'utilisation de parseInt() pour convertir une chaîne vide renverra NaN (Number() renvoie 0 pour les caractères nuls). Par exemple,

si le premier caractère est un caractère numérique, parseInt() continuera à analyser le deuxième caractère jusqu'à ce que tous les caractères suivants soient analysés ou qu'un

caractère non numérique soit rencontré. Par exemple, « 1234blue » sera converti en 1234, car « blue » sera complètement ignoré. De même, "22.5"

sera converti en 22 car le point décimal n'est pas un caractère numérique valide.



Règles de conversion parseFloat()

Similaire à la fonction parseInt(), parseFloat() analyse également chaque caractère à partir du premier caractère (position 0). De plus,

est également analysé jusqu'à la fin de la chaîne ou jusqu'à ce qu'un caractère numérique à virgule flottante non valide soit rencontré. En d'autres termes, le
指定基数会影响到转换的输出结果。例如:
var num1 = parseInt("10", 2); //2 (按二进制解析)
var num2 = parseInt("10", 8); //8 (按八进制解析)
var num3 = parseInt("10", 10); //10 (按十进制解析)
var num4 = parseInt("10", 16); //16 (按十六进制解析)
ième point décimal de la chaîne est valide, mais le deuxième point décimal n'est pas valide, donc la chaîne qui le suit sera ignorée. Par exemple,
**多数情况下,我们要解析的都是十进制数值,因此始终将 10 作为第二个参数是
非常必要的。**
"22.34.5" sera converti en 22,34.

En plus du premier point décimal valide, la deuxième différence entre parseFloat() et parseInt() est qu'il ignore toujours les

zéros non significatifs. parseFloat() reconnaît tous les formats numériques à virgule flottante évoqués précédemment, y compris les formats d'entiers décimaux. Cependant, les chaînes au format hexadécimal

seront toujours converties en 0. Puisque parseFloat() analyse uniquement les valeurs décimales, il ne sert à rien de spécifier la base avec le deuxième argument. Une dernière chose à noter : si la chaîne contient un nombre qui peut être analysé comme un entier (pas de point décimal, ou tous les
après le point décimal sont nuls), parseFloat() renverra un entier.


Recommandations associées :


Exploration JavaScript : utilisez parseInt() pour la conversion numérique

var num1 = parseFloat("1234blue"); //1234 (整数)
var num2 = parseFloat("0xA"); //0 
var num3 = parseFloat("22.5"); //22.5 
var num4 = parseFloat("22.34.5"); //22.34 
var num5 = parseFloat("0908.5"); //908.5 
var num6 = parseFloat("3.125e7"); //31250000

Conversion de somme numérique javaScript entre les types de chaînes_javascript skills

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