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


Posted in Javascript onDecember 20, 2016

一: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() 第二个参数可以设置基数,按照这个基数的进制来转换。

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

Javascript 相关文章推荐
jQuery中的.bind()、.live()和.delegate()之间区别分析
Jun 08 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
Dec 03 Javascript
javascript中Function类型详解
Apr 28 Javascript
详解JavaScript数组过滤相同元素的5种方法
May 23 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
Aug 16 Javascript
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 Javascript
es6 symbol的实现方法示例
Apr 02 Javascript
mui js控制开关状态、修改switch开关的值方法
Sep 03 Javascript
vue之debounce属性被移除及处理详解
Nov 13 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
Nov 13 Javascript
ant design pro中可控的筛选和排序实例
Nov 17 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
Dec 20 #Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
Dec 20 #Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
Dec 20 #Javascript
js多个物体运动功能实例分析
Dec 20 #Javascript
JS高级运动实例分析
Dec 20 #Javascript
CSS+jQuery实现简单的折叠菜单
Dec 20 #Javascript
jQuery常见的选择器及用法介绍
Dec 20 #Javascript
You might like
php代码运行时间查看类代码分享
2011/08/06 PHP
需要注意的几个PHP漏洞小结
2012/02/05 PHP
php实现网页端验证码功能
2017/07/11 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
JS location几个方法小姐
2008/07/09 Javascript
JavaScript 继承详解(二)
2009/07/13 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
jQuery表单验证之密码确认
2017/05/22 jQuery
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
Python实现比较两个列表(list)范围
2015/06/12 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python字符串对其居中显示的方法
2015/07/11 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
Python pymongo模块常用操作分析
2018/09/01 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
Python内置类型性能分析过程实例
2020/01/29 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
html5时钟实现代码
2010/10/22 HTML / CSS
Java面试笔试题大全
2016/11/23 面试题
金融专业应届生求职信
2013/11/02 职场文书
高中数学教学反思
2014/01/30 职场文书
应届毕业生简历自我评价
2014/01/31 职场文书
物流专业自荐信
2014/05/23 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
会计岗位职责范本
2015/04/02 职场文书
入党后的感想
2015/08/10 职场文书