美文网首页
JavaScript中Number类型(五)

JavaScript中Number类型(五)

作者: 三人行大道 | 来源:发表于2018-10-29 11:18 被阅读0次

Number():把一个值强制转换成number类型的,
1.Number()可以用于任何数据类型
2.NaN即非数值(not a number)是一个特殊数值

2.parseInt
parseInt方法用于将字符串转为整数,
如果字符串头部有空格,空格会被自动去除
会忽略字符串前面的空格,直至找到第一个非空格字符,
如果parseInt的参数不是字符串,则会先转为字符串再转换。

parseInt(1.23) // 1
// 等同于
parseInt('1.23') // 1

字符串转为整数的时候,是一个个字符依次转换,
如果遇到不能转为数字的字符,就不再进行下去,
返回已经转好的部分

parseInt('8a') // 8
parseInt('12**') // 12
parseInt('12.34') // 12
parseInt('15e2') // 15
parseInt('15px') // 15

上面代码中,parseInt的参数都是字符串,结果只返回字符串头部可以转为数字的部分

(1)parseInt,转换的值必须是以数字开头的,否则返回NaN
说明:parseInt()转换空字符串返回NaN

如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN

parseInt('abc') // NaN
parseInt('.3') // NaN
parseInt('') // NaN
parseInt('+') // NaN
parseInt('+1') // 1

(2)parseInt()这个函数提供第二个参数:转换时使用基数(多少进制)10进制等,

所以,parseInt的返回值只有两种可能,要么是一个十进制整数,要么是NaN
>2.parseFloat()是专门用于把字符串转换成数值
从第一个字符开始解析每个字符,直至遇见一个浮点数字符为止
说明:
除了第一个小数点有效外,parseFloat()与parseInt()的第二个与别在与他始终都会忽略前导的零

>3.Number,isNaN()

数值转换

Number()
parseInt()
parseFloat()

1.Number:表示整数和浮点数
2.NaN:即非数值(Not a Number)是一个特殊的数值
这种情况发生在比如说:age=20
主要出现在将字符串解析成数字出错的场合

在控制台打印 console.log(age-"abc"),大家都知道,
数字跟字符串是不能相减的,这个时候,在控制台打印的就NaN
但是NaN也是Number类型

@面试注意点:
1.任何涉及NaN的操作(例如NaN/9)都会返回NaN
2.NaN与任何值都不相等,包括NaN本身

3.isNaN(n)     isNaN这是一个方法,
    参数n可以使任何类型
    功能是:检测n是否是“非数值 ”,
    返回值是一个 boolean

    age=20, 
    在控制台打印,console.log(isNaN(age)) 判断age是否是一个      
    非数字,返回False,因为age是一个数字 但是isNaN是判断一个值是否是非数值
    这里还有一点要说明:isNaN()对接收的数值,先尝试转换    
    为数值,在判断是否为数值



// isNaN() 这个方法用来判断非数字   
并且返回一个值 如果是数字返回的是 false 
如果不是数字返回的是true
console.log(isNaN(12)); // false
console.log(isNaN('pink老师')); // true

typeof

  var vari = undefined;
        console.log(typeof vari); // undefined
        var timer = null;
        console.log(typeof timer); // object
        // prompt 取过来的值是 字符型的
        var age = prompt('请输入您的年龄');
        console.log(age);
        console.log(typeof age);

        var a = "undefined";
        console.log(a) .  undefined
        console.log(typeof a)  string

Number()

如果是Boolean值,true和false值将分别被转换为1和0。
如果是数字值,只是简单的传入和返回。
如果是null值,返回0。
如果是undefined,返回NaN。
如果是字符串:
 a.  如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0
 b. 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0
 c. 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值
 d. 如果字符串为空,将其转换为0
 e. 如果字符串中包含除上述格式之外的字符,则将其转换为NaN

6.如果是对象,则调用对象的valueOf()方法,
然后依照前面的规则转换返回的值。
如果转换的结果是NaN,则调用对象的toString()方法,
然后再依照前面的规则转换返回的字符串值。
 var num1 = Number("Hello world");       //NaN
    var num2 = Number("");            //0
    var num3 = Number("0000011");   // 11

ParseInt()

处理整数的时候parseInt()更常用。parseInt()函数在转换字符串时,会忽略字符串前面的空格,知道找到第一个非空格字符。
  如果第一个字符不是数字或者负号,parseInt() 就会返回NaN,同样的,用parseInt() 转换空字符串也会返回NaN。
  如果第一个字符是数字字符,parseInt() 会继续解析第二个字符,直到解析完所有后续字符串或者遇到了一个非数字字符。

ParseFloat()

parseInt(string, radix)
如果参数“string”,以字母开头,直接返回NaN
parseInt("df2bc", 10)  //返回 NaN

相关文章

网友评论

      本文标题:JavaScript中Number类型(五)

      本文链接:https://www.haomeiwen.com/subject/ggbrtqtx.html