详解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 相关文章推荐
ASP 过滤数组重复数据函数(加强版)
May 31 Javascript
javascript针对DOM的应用实例(一)
Apr 15 Javascript
javascript的数组和常用函数详解
May 09 Javascript
JavaScript操作DOM元素的childNodes和children区别
Apr 01 Javascript
JQuery查找DOM节点的方法
Jun 11 Javascript
使用JQuery实现的分页插件分享
Nov 05 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
Dec 02 Javascript
微信小程序 input输入框详解及简单实例
Jan 10 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
微信小程序实现下拉刷新和轮播图效果
Nov 21 Javascript
详解如何使用babel进行es6文件的编译
May 29 Javascript
AngularJS实现的自定义过滤器简单示例
Feb 02 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
cache_lite试用
2007/02/14 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
jQuery 入门讲解1
2009/04/15 Javascript
深入认识javascript中的eval函数
2009/11/02 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
javascript中length属性的探索
2011/07/31 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
Python 模拟购物车的实例讲解
2017/09/11 Python
python+pygame实现坦克大战
2019/09/10 Python
python配置文件写入过程详解
2019/10/19 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
简单说下OSPF的操作过程
2014/08/13 面试题
个人简历自荐信
2013/12/05 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
美食节策划方案
2014/05/26 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
golang goroutine顺序输出方式
2021/04/29 Golang
html实现弹窗的实例
2021/06/09 HTML / CSS
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS