JS系列 7 - 强制类型转换,数值/Number()

三种方法

  1. Number()
  2. parseInt()
  3. parseFloat()

Number(),不太好用

字符串时

数字字符串 -> 十进制数字, 忽略首位的 0
带有非数字的字符串 -> NaN
空的字符串 -> 0

console.log(Number('123'));//返回数字123
console.log(Number('0123'));//返回数字123
console.log(Number('01.23'));//返回数字1.23
console.log(Number('hello'));//返回 NaN
console.log(Number(''));//返回数字 0 

boolean

true -> 1, false -> 0

console.log(Number(true));//返回数字 1
console.log(Number(false));//返回数字 0

null 和 undefined

null -> 0, undefined -> NaN

console.log(Number(null)); //返回 数字 0
console.log(Number(undefined)); //返回 NaN

对象

大部分情况都是 NaN;
空array 或者 只有一个数字的array时,会返回数字

console.log(Number([])); // 返回数字 0
console.log(Number([20])); // 返回数字 20
console.log(Number([20,30])); // 返回 NaN

parseInt(),常用

  1. 参数的开头必须是数字或者负号,不同进制的数字也可以1
  2. 满足1的前提下,只返回第一次出现的,连续的,字符串形式的数字
  3. 只返回整数,如果想要返回浮点数,请用parseFloat()
  4. 空的字符串 或者 都是文字的字符串,返回 NaN
console.log(parseInt('123b22'));//返回数字 123
console.log(parseInt('-123boys22'));//返回数字 -123
console.log(parseInt('-1.23'));//返回数字 -1
console.log(parseInt('boys'));//返回数字 NaN
console.log(parseInt(''));//返回数字 NaN

parseFloat()

  1. 只能解析十进制的数,会忽略前面的所有0
  2. 满足1的前提下,只返回第一次出现的小数点,连续的,字符串形式的数字
  3. 如果字符串包含一个 整数,就返回整数

  1. 不同进制的数字这里不做解释,请谷歌 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值