number数字类型详解
初始数字类型
分整数型和浮点型。
十进制通用,普遍使用十进制计算。
八进制:070 56;第一个必须是0(后面0到7)
十六进制:0X(后面是0到0或者A到F)
浮点数:带有小数的数字,浮点型比整数型多用空间,所以如果是12.0;会自动转换成整数型12.
过大或过小:e科学计数法。 2e4 就是2万。
不用浮点数做判断,会有误差。
浮点数有数值范围。
Number.MIN_VALUE(最大);
Number.MAX_VALUE( 最小);
Number.POSITIVE_INFINITY(正无穷)//Infinity
Number.NEGATIVE_INFINITy(负无穷)// -Infinity
测试范围是否超过范围。可用isFinite()。
数字类型转换
有三个函数可以把非数值转化为数值:Number(),parseInt(),ParstFloat()。
其中Number()可以用于任何数据类型,后面两个专门用于字符串转成数值。
Number()
Number()转布尔类型,返回1和0,true是,false是0;
Number()转数值类型;直接返回数值;
Number()转Null,空对象返回0;
Number()转undefined,是NaN;
Number()转字符串 有五条规则
1.包含数值的字符串,自动去掉前导0,以十进制输出;
2.包含浮点数值的字符串,自动去掉前导和后导0,以浮点数值输出;
3.如果字符串是空,直接转换成0;
4.如果不是以上字符串,返回NaN;
5、如果是对象,收下调用valueOf()方法,然后确定返回值是否能够转换成数值,如果转换的结果是NaN,则基于这个返回值再调用toString()方法,再测试返回值。
由于Number复杂,通常用parseInt()。
parseInt()
parseInt()只能是转换字符串,浮点数会被割舍掉小数点以后的内容。
可以输出二进制,八进制(0开头),十六进制(o和X开头);中间逗号,后面表示多少进制。
parseFloat
parseFloat不认识16进制,只认一个小数点,多的会去掉,前导0和后导0全部去掉。
ps:第二次再学习感觉比第一次深入多了,加油!