JavaScript数值(下)

数值(下)

与数值相关的全局方法

以下方法用于将特定数据类型转换为Number类型数据。如果不是特定数据类型,则会先自动转换为特定数据类型,再调用方法。

  1. parseInt():用于将字符串转为整数。

    1. 如果字符串以0开头,将其按照10进制解析。

    2. 对于那些会自动转为科学计数法的数字,parseInt会将科学计数法的表示方法视为字符串,因此导致一些奇怪的结果。

      parseInt(1000000000000000000000.5) // 1
      // 等同于
      parseInt('1e+21') // 1
      
      parseInt(0.0000008) // 8
      // 等同于
      parseInt('8e-7') // 8
      
    3. 进制转换:parseInt方法还可以接受第二个参数(2到36之间),表示被解析的值的进制,返回该值对应的十进制数。默认情况下,parseInt的第二个参数为10,即默认是十进制转十进制。

      如果第二个参数不是数值,会被自动转为一个整数。这个整数只有在2到36之间,才能得到有意义的结果,超出这个范围,则返回NaN。如果第二个参数是0undefinednull,则直接忽略。

      parseInt('10', 37) // NaN
      parseInt('10', 1) // NaN
      parseInt('10', 0) // 10
      parseInt('10', null) // 10
      parseInt('10', undefined) // 10
      
  2. parseFloat():将一个字符串转为浮点数。

    1. 如果字符串符合科学计数法,则会进行相应的转换。
  3. 二者共有:

    1. parseInt的参数都是字符串,结果只返回字符串头部可以转为数字的部分。

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

    3. 会自动过滤字符串前导的空格

      parseInt('   \t\v\r1223') // 1223
      parseFloat('  \t\v\r12.34\n ') // 12.34
      
  4. isNaN():判断一个数值Number是否为NaN

    1. 判断NaN更可靠的方法是,利用NaN为唯一不等于自身的值的这个特点,进行判断。

      function myIsNaN(value) {
        return value !== value;
      }
      
  5. isFinite():返回一个布尔值,表示某个值是否为正常的数值。

    1. 除了Infinity-InfinityNaNundefined这几个值会返回falseisFinite对于其他的数值都会返回true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值