说到转换成数字类型,我首先想到的是parseInt()方法,后来接触多了才发现还有一个Number()方法,同样是转换成数字类型,这两种方法有什么不同的呢?

1.parseInt():

     parseInt(string,radix):将字符串解析转化为数字类型,返回的是整数;

string:待被解析的字符串;

radix:表示要解析转换的进制

PS:(如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将                返 回 NaN);

例:

alert(parseInt("10")) ; //10
alert(parseInt("19",10)); //19,1*10^1+9*10^0=19
alert(parseInt("11","2")); //3,1*2^1+1*2^0=3
alert(parseInt("17","8")); //15,1*8^1=7*8^0=15

当遇到数字后带有字符串,则只返回前面的数字(例parseInt(123mgn)=123),如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

2.Number()

      Number(object):将对象的值转换为数字;

如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。

如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。

<script type="text/javascript">

var test1= new Boolean(true);
var test2= new Boolean(false);
var test4= new String("999");
var test5= new String("999 888"); document.write(Number(test1)+ "<br />"); //1
document.write(Number(test2)+ "<br />"); //0
document.write(Number(test4)+ "<br />"); //999
document.write(Number(test5)+ "<br />"); //NaN </script>

为了更直观的体会两者之间的区别,我们看一下两种方法的结果:

//当字符串只有数字组成
var numbeTrans="9898";
alert(parseInt(numberTrans)); //9898
alert(Number(numberTrans)); //9898 //当数字只有字母组成
var numbeTrans="abab";
alert(parseInt(numberTrans)); //NaN
alert(Number(numberTrans)); //NaN //当字符串由字母与数字组成
var numbeTrans="123ab";
alert(parseInt(numberTrans)); //123
alert(Number(numberTrans)); //NaN //当字符串为小数时
var numbeTrans="123.123";
alert(parseInt(numberTrans)); //123
alert(Number(numberTrans)); //123.123 //当字符串为空null时
var numbeTrans="null";
alert(parseInt(numberTrans)); //NaN
alert(Number(numberTrans)); //0 //当字符串为空“ ”时
var numbeTrans=" ";
alert(parseInt(numberTrans)); //NaN
alert(Number(numberTrans)); //0

js parseInt()与Number()区别的更多相关文章

  1. js parseInt();parseFloat;Number()

    1:  parseInt( numString [, radix ] ) [测试浏览器:chromium && firefox] ①parseInt()函数用于将字符串转换为(十进制) ...

  2. parseInt()、Number()区别

    parseInt从头解析string为整数,在遇到不能解析的字符时就返回已经解析的整数部分,如果第一个字符就不能解析,就直接返回NaN. Number如果无法转换为数字,就返回NaN.像“123a”, ...

  3. parseInt和Number的应用区别

    parseInt() 和 Number()的应用区别 这两个函数最多的应用就是把一个字符串转换成数据类型. 1.parseInt() parseInt()函数将给定的字符串以指定的基数解析为整数 语法 ...

  4. js中parseInt和Number

    昨天在项目中遇到一个问题,有关字符串准换成数字的问题,具体如下: 页面中<input type="number" id="bankNum" ng-mode ...

  5. js中声明Number的五种方式

    转载自:http://www.jb51.net/article/34191.htm <!DOCTYPE html> <html> <head> <meta c ...

  6. js中==和===的区别以及总结

    js中==和===的区别以及总结 学习js时我们会遇到 == 和 === 两种符号,现做总结如下 两种符号的定义 "==" 叫做相等运算符 "===" 叫做严格 ...

  7. IE和firefox火狐在JS、css兼容区别

    1.firefox不能对innerText支持. firefox支持innerHTML但却不支持innerText,它支持textContent来实现innerText,不过默认把多余的空格也保留了. ...

  8. paip.java 以及JavaScript (js) 的关系以及区别

    paip.java 以及JavaScript (js) 的关系以及区别 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...

  9. JS和JSP的区别

    最近很多同学在纠结于名词缩写之间的相似性,因此本人也来写一篇,讲讲JS和JSP的区别. SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方 ...

随机推荐

  1. 对象的创建与OOP-Klass模型

    1.JVM中OOP-KLASS模型 在JVM中,使用了OOP-KLASS模型来表示java对象,即:1.jvm在加载class时,会创建instanceKlass,表示其元数据,包括常量池.字段.方法 ...

  2. javaweb(4)之Listener&Filter

    监听器 (Listener) 介绍 监听器用于监听 web 应用中某些对象.信息的创建.销毁.增加,修改,删除等动作的发生,然后作出相应的响应处理.当范围对象的状态发生变化的时候,服务器自动调用监听器 ...

  3. 点击当前选项显示当前内容jquery

    <script language="javascript"> $(document).ready(function(){ $(".moren a") ...

  4. ACFS-9459: ADVM/ACFS is not supported on this OS version

    环境:RHEL 7.3 + Oracle 12.2.0.1 RAC 现象:acfs资源状态不正常,asmca图形也没有acfs相关内容,无法使用acfs. 1.具体现象 2.定位bug 3.解决问题 ...

  5. 彻底解决(Microsoft Visual C++ 14.0 is required)的步骤123

    之前要用协程gevent,安装pip install gevent包时遇到Microsoft Visual C++ 14.0 is required的报错提示,各种下载没有解决很头疼, 前两天安装sc ...

  6. Linux LVS_NAT DR

    一.lvs-nat LVS是Linux Virtual Server的简写,意即Linux虚拟服务器.是由章文嵩博士开发的一个在内核层面的负载均衡调度器.    lvs是在netfilter的INPU ...

  7. .NetCore实现简单的分布式缓存

    分布式缓存能够处理大量的动态数据,因此比较适合应用在Web 2.0时代中的社交网站等需要由用户生成内容的场景.从本地缓存扩展到分布式缓存后,关注重点从CPU.内存.缓存之间的数据传输速度差异也扩展到了 ...

  8. 解决多个div左浮动后不换行问题

    问题描述:我这里有多个li 让其左浮动,并且有序没有间隙的排列,就出现了中间空隙的问题: 解决办法:让每一个的第1个元素加上 clear:both属性,我这里每一行有2个,所以是: .b li:nth ...

  9. 调用微信的扫一扫功能详解说明---(java 排坑版)

    最近碰到了这么一个需求,说是在前端页面调用手机本地的相机,扫描二维码这么一个需求,对于我一个后端来说, 这实在是难,难于上青天,但是决不能说一个不字.我说可以使用微信的扫码工具吗,这样可以方便一点,. ...

  10. SVN更新的时候前面的子母的意思(A C D M G U R I)

    U:update 表示从服务器收到文件更新了 G:表示本地文件以及服务器文件都已更新,而且成功的合并了 其他的如下: A:add 表示有文件或者目录添加到工作目录 R:replace,从服务器替换,表 ...