Maison  >  Article  >  interface Web  >  Analyse spécifique de la conversion de type de données en JavaScript

Analyse spécifique de la conversion de type de données en JavaScript

黄舟
黄舟original
2017-08-08 13:50:071360parcourir


Conversion du type de données JavaScript

Conversion d'affichage

Il existe trois fonctions qui peut convertir Convertir une chaîne en valeur numérique : Number(), parseInt(), parseFloat(). Number() peut être utilisé pour n'importe quel type de données, tandis que les deux autres fonctions sont spécifiquement utilisées pour convertir des chaînes en nombres.

1)Number()

Si la chaîne est une chaîne numérique, convertissez-la en valeur décimale.

Si la chaîne contient un format hexadécimal valide, tel que "0xf", convertissez-la en une valeur entière décimale de même taille.

Si la chaîne est une chaîne vide ou une chaîne d'espace, convertissez-la en 0.

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

2) parseInt() : renvoie un entier

Lorsque la fonction parseInt() convertit une chaîne, il s'agit davantage de savoir si elle est conforme au modèle numérique. Il ignore les espaces de début de la chaîne 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 ou un signe négatif, parseInt() renverra NaN. S'il s'agit d'une chaîne vide, il renverra NaN. 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 aient été analysés ou qu'un caractère non numérique soit rencontré.

3) parseFloat() : renvoie un nombre à virgule flottante

parseFloat() peut renvoyer des décimales. Lors de la conversion parseFloat(), il analyse également chaque caractère en commençant par le premier caractère jusqu'à ce qu'il analyse jusqu'à la fin de la chaîne, ou jusqu'à ce qu'il rencontre un caractère numérique à virgule flottante non valide, c'est-à-dire le premier caractère de la chaîne. Le point décimal est valide, mais la deuxième virgule décimale n'est pas valide.

4) toString() : Autres types—> String

Convertir le décimal en binaire

Exemple :

var a = 302;
console.log(a.toString(2));
toString( )<括号里面的数字是几就转换成几进制>

Convertir d'autres types de variables Pour convertir en chaîne, nous utilisons généralement la méthode toString(). Les valeurs numériques, les valeurs booléennes, les objets et les chaînes ont tous la méthode toString(), mais null et undefined n'ont pas cette méthode. Nous pouvons également utiliser la fonction de conversion String(), qui peut convertir n'importe quel type de valeur en chaîne. Lorsque toString peut représenter une chaîne au format binaire, octal, hexadécimal ou même dans d'autres formats de base valides en saisissant la base.

Par exemple :

console.log(a.toString()); // "123"
console.log(bool.toString()); // "true"

5)toFixed(n) : conserver n décimales (type de sortie : chaîne)

var pi = 0.45;   //0.95对toFixed有疑问为0.9
alert(Math.round(pi));  //round四舍五入取整
alert(pi.toFixed(1));   // 四舍五入为指定小数位数的数字。

Type de sortie : chaîne

解释:

toFixed它是一个四舍六入五成双的诡异的方法,"四舍六入五成双"含义:对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5不进;②5前为偶数,舍5入1。

兼容:

var a = "070";
alert(typeof parseInt(a));
alert(parseInt(a));
IE6-7-8:56(八进制计算)

谷歌正常 70;

处理兼容:(a, 10),强制几进制输出!

隐式转换

隐式转换的方式可以通过+""、* 1、/ 1的运算来把数值转换成字符串。(可相互)

数字——字符串: 数字 +(连字符)c134592d6ba581d7ba7bec205298eb39

字符串——数字: + - * / %

"123"-0      "123"*0      "123"/0      +"123"     "123"%比前面的数值字符串大的数字;

显式转换是通过函数的形式,将字符串转换成数组的形式,隐式转换则是通过运算符的方式将字符串转换成数字的形式。

总结:

显示转换:

1)Number()

2)parseInt():返回整数

3)parseFloat():返回浮点数

4)toString():其它类型—>字符串

5)toFixed(n):保留n位小数(输出类型:string)

隐式转换:

数字转换为字符串:+ ""

var str =  数字 + "";

字符串转数字:

var strs =  + - * / %“数字”;

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