// 其他类型转为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