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()
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
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)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
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
var str = 'adfsfdsa' Number(str) NaN
É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 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,
指定基数会影响到转换的输出结果。例如: var num1 = parseInt("10", 2); //2 (按二进制解析) var num2 = parseInt("10", 8); //8 (按八进制解析) var num3 = parseInt("10", 10); //10 (按十进制解析) var num4 = parseInt("10", 16); //16 (按十六进制解析)
**多数情况下,我们要解析的都是十进制数值,因此始终将 10 作为第二个参数是 非常必要的。**
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
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!