数据类型转换

110 阅读2分钟

// 其他类型转为number 显示转化,隐士转化

// 显示转化 Number() parsInt() parsFloat()

// 浮点数

// 1注意: 不要是使用浮点数进行比较和运算

// 2 正常只有第一个小数点是有效的,之后都是无效的

// var res = 0.1+0.2===0.3

console.log( 0.1+0.2);

// e3 科学记数法 10的3次方

var num = 12e3;// 12 * 10 *10*10 0

// NaN

// 1 当一个数据,非要是数值型,但没有任何一个数值可以表示,为NaN

// 2 NaN 永不等于NaN

// 3 NaN于任意操作数运算都是NaN

Number转换

// Number() 作用:将其他类型数据转为数值型.参数为 js 数据类型

console.log(Number(true));

console.log(Number(false));

console.log(Number(undefined)); // nan

console.log(Number(null),'null');

console.log(Number('')); // 0

console.log(Number('11'));

console.log(Number('1.1'));

console.log(Number('1.1.1')); // NaN

// 注意

console.log(parseFloat('1.1.1'));// 1.1

console.log(Number('谢科')); // NaN

console.log(Number([])); // 0

console.log(Number({})); // NaN

// 注意:隐士转化为number 于Number函数规则一种;于parseInt parseFloat 不一致

 parseInt()转换

var tast = ' a123'

// 1.忽略字符串前面的空格,直到找到第一个非空格字符

var res = parseInt(tast);

console.log(res);

// 2.如果第一个字符不是数字或者是负号,返回NaN

console.log(parseInt('-a')); // NaN

// 3.空字符串,返回NaN

var res2 = parseInt('');

console.log(res2);

// 4.如果第一个字符是数字,会继续解析第二个字符,直到解析完所有后续字符或遇到了一个非数字字符,返回解析的所有数字字符。

var tast1 = '123arfwer1123';

console.log(parseInt(tast1));

// 5.如果字符串以0x开头且后面跟数字字符,就会将其转为10进制数,同样,八进制也一样。

console.log(parseInt('0xA')); // 10

// 5 以0开头的数字字符 省略0 ,返沪i其他数字字符

console.log(parseInt('070')); // 70

// 6 以为0开头字符, 省略0 除非下为是非数字字符;返回0;

console.log(parseInt('000a')); // 0

 // 注意

// parseInt 只看第一个字符,满足才继续解析

// parseFloat 从头到尾的解析;最后返回一个结果;该结果准中以下规律

// 1 空字符 NaN

// 2 十六进制 0

// 3 解析为第一个有效小数点

// 4 普通的飞空字符 非数字 NaN

// 5 科学记数法字符 , 转为科学记数法

// 6 0 开头字符 如果继续解析后面字符非数字 NaN, 是数字 省略0 返回有效数字

 布尔类型 显示转化 Boolean

console.log(Boolean(false));

console.log(Boolean(null));

console.log(Boolean(0));

console.log(Boolean(''));

console.log(Boolean(undefined));

console.log(Boolean(NaN));

// 规律:除了以上六种数类型其他全是true