JavaScript中关于parseInt(),Number(),parseFloat()以及一元运算符“+”将字符串类型转换为数字类型的对比

昨天看到了JS中基本类型互相转换的一些内容,遇到了pareInt()和Number()两种方式,感觉以前只是应用但是对其没有一个系统的了解,去网上大致了解了一下,自己总结了一下:

  1. parseInt(), parseInt()方法是把给定的字符串按照指定的进制转换为整型 int类型。
    语法为 parseInt(str, radix),radix参数表示要转换的目标进制。
    ex: parseInt(“9527”,10),
    parseInt()所要被解析的参数必须为整数字符串,在遇到不能解析的内容时会自动返回前面已经解析好的内容,如果是第一位字符不能解析那么会直接返回NaN。

  2. Number(), Number()除了可以用’new’关键字来创建对象外,还可以用来执行类型转换,如果需要转换的内容不能转换为数字,则会自动返回NaN。
    语法为Number(str),比如:9527abc”,parseInt()返回是9527(解析到不能解析的位置时会自动返回前面已经解析好的内容),而Number()返回是NaN。
    注:Number()会把空字符串转换为0。
    Number(“3.14”) // 返回 3.14
    Number(” “) // 返回 0
    Number(“”) // 返回 0
    Number(“95 27”) // 返回 NaN
    Number(“95a27”) // 返回 NaN
    全局方法 Number() 可将布尔值转换为数字。
    Number(false) // 返回 0
    Number(true) // 返回 1
    全局方法 Number() 可将日期转换为数字。和Date()中的getTime()效果相同
    var d = new Date();
    Number(d) // 返回 1492484859621
    日期方法 getTime() 也有相同的效果。
    d = new Date();
    d.getTime() // 返回 1492484859621

  3. parseFloat(), 类似parseInt()。解析一个字符串,并返回一个浮点数。 但是parseFloat()的执行速度会快于parseInt().

  4. 一元运算符“+”可以将字符串转化为数字,如+”9527”返回是9527.
    和Number()一样,+”95 27”返回是NaN;
    ex:
    var y = “95”; // y 是一个字符串
    var x = + y; // x 是一个数字
    如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字):
    ex:
    var y = “abc”; // y 是一个字符串
    var x = + y; // x 是一个数字 (NaN)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kirinlau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值