全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解js中Number()、parseInt()和parseFloat()的区别

一:Number()

如果是Boolean值,true和false值将分别被转换为1和0。

如果是数字值,只是简单的传入和返回。

如果是null值,返回0。

如果是undefined,返回NaN。

如果是字符串:

  a.  如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0

  b. 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0

  c. 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值

  d. 如果字符串为空,将其转换为0

  e. 如果字符串中包含除上述格式之外的字符,则将其转换为NaN

如果是对象,则调用对象的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() 会继续解析第二个字符,直到解析完所有后续字符串或者遇到了一个非数字字符。

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

基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值,当然,对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法。

例:

 var num1 = parseInt("AF",16);           //175
    var num2 = parseInt("AF");            //NaN
    var num3 = parseInt("10",2);           //2  (按照二进制解析)
    var num4 = parseInt("sdasdad");         //NaN

三:parseFloat()

 与parseInt() 函数类似,parseFloat() 也是从第一个字符(位置0)开始解析每一个字符。也是一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。

 也就是说,字符串中第一个小数点是有效的,而第二个小数点就是无效的了,它后面的字符串将被忽略。

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

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

例:

 var num1 = parseFloat("123AF");           //123
  var num2 = parseFloat("0xA");            //0
  var num3 = parseFloat("22.5");            //22.5
  var num4 = parseFloat("22.3.56");         //22.3
  var num5 = parseFloat("0908.5");          //908.5

parseInt() 和parseFloat() 的区别在于:

  • parseFloat() 所解析的字符串中第一个小数点是有效的,而parseInt() 遇到小数点会停止解析,因为小数点并不是有效的数字字符。
  • parseFloat() 始终会忽略前导的零,十六进制格式的字符串始终会被转换成0,而parseInt() 第二个参数可以设置基数,按照这个基数的进制来转换。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js  # Number  # parseInt  # parseFloat  # Javascript中parseInt的正确使用方式  # 详解JS转换数值函数Number()、parseInt()、parseFloat()  # 深入理解JS中Number()  # parseInt()  # parseFloat()三者比较  # JS实现手写parseInt的方法示例  # JS中parseInt()和map()用法分析  # JavaScript parseInt0.0000005打印5原理解析  # 第一个  # 转换为  # 第二个  # 将其  # 浮点  # 转换成  # 的是  # 都是  # 就会  # 也会  # 是由  # 十进制数  # 是从  # 将被  # 然后再  # 或其他  # 则将  # 为空  # 也就是说  # 字符串值 


相关文章: 宝塔面板创建网站无法访问?如何快速排查修复?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  制作网站怎么制作,*游戏网站怎么搭建?  公众号网站制作网页,微信公众号怎么制作?  ,在苏州找工作,上哪个网站比较好?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  太平洋网站制作公司,网络用语太平洋是什么意思?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  如何通过虚拟机搭建网站?详细步骤解析  网站制作公司排行榜,抖音怎样做个人官方网站  香港服务器网站卡顿?如何解决网络延迟与负载问题?  建站之星官网登录失败?如何快速解决?  开心动漫网站制作软件下载,十分开心动画为何停播?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何将凡科建站内容保存为本地文件?  宝塔建站后网页无法访问如何解决?  大型企业网站制作流程,做网站需要注册公司吗?  javascript中对象的定义、使用以及对象和原型链操作小结  如何基于PHP生成高效IDC网络公司建站源码?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  如何彻底删除建站之星生成的Banner?  网站制作难吗安全吗,做一个网站需要多久时间?  Android滚轮选择时间控件使用详解  网站企业制作流程,用什么语言做企业网站比较好?  建站VPS配置与SEO优化指南:关键词排名提升策略  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  建站主机无法访问?如何排查域名与服务器问题  宁波免费建站如何选择可靠模板与平台?  建站之星代理如何优化在线客服效率?  建站之星安装失败:服务器环境不兼容?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  香港服务器租用每月最低只需15元?  如何选择高效便捷的WAP商城建站系统?  在线制作视频的网站有哪些,电脑如何制作视频短片?  家庭服务器如何搭建个人网站?  建站之星如何通过成品分离优化网站效率?  建站之星北京办公室:智能建站系统与小程序生成方案解析  如何在IIS7上新建站点并设置安全权限?  广州美橙建站如何快速搭建多端合一网站?  如何零基础在云服务器搭建WordPress站点?  制作企业网站建设方案,怎样建设一个公司网站?  企业微网站怎么做,公司网站和公众号有什么区别?  C++时间戳转换成日期时间的步骤和示例代码  如何通过智能用户系统一键生成高效建站方案?  建站之星如何快速解决建站难题?  如何选择香港主机高效搭建外贸独立站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。