区分Number、parseInt、parseFloat

一、Number

console.log(Number(true)); // 1
console.log(Number(false)); // 0
console.log(Number(1234)); // 1234
console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
console.log(Number('00123045')); // 123045
console.log(Number('00123.45')); // 123.45
console.log(Number('0xf')); // 15 字符串包含有效十六进制格式,转换为相同大小的十进制数值
console.log(Number('')); // 0
console.log(Number('@#@')); // NaN 除以上字符转,其他类型都为 NaN

二、parseInt

当第一个字符是数字,parseInt会继续解析第二个字符,直到解析完所有后续字符串或者遇到了一个非数字字符

console.log(parseInt('   11 223 3')); // 11
console.log(parseInt('   112233 ')); // 112233
console.log(parseInt('a1')); // NaN 如果第一个字符不是数字或者负号,parseInt() 就会返回NaN;空字符串也会返回NaN
console.log(parseInt('123.4')); // 123

parseInt方法有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。

console.log(parseInt("10",2)); // 2 转换二进制
console.log(parseInt("10",8)); // 8 转换八进制
console.log(parseInt("AF",16)); // 175 转换十六进制

三、parseFloat

从第一个字符(位置0)开始解析每一个字符,一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止

字符串中第一个小数点是有效的,而第二个小数点是无效的,后面的字符串会被忽略

parseFloat只解析十进制,它没有第二个参数去指定基数的用法

如果字符串中包含的是一个可解析为正数的数(没有小数点,或者小数点后都是零),parseFloat() 会返回整数。

console.log(parseFloat('123AF')); // 123
console.log(parseFloat('0xA')); // 0
console.log(parseFloat('12.34')); // 12.34
console.log(parseFloat('12.34.56')); // 12.34
console.log(parseFloat('0123.4')); // 123.4
console.log(parseFloat('123.00')); // 123

parseInt和parseFloat区别

parseFloat解析的第一个小数点是有效的,而parseInt遇到小数点会停止解析;

parseFloat始终忽略前导的零,十六进制格式的字符串始终会被转换成0,parseInt第二个参数可以设置,转换进制。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值