说到转换成数字类型,我首先想到的是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. 20190404 Informatic 学习一

    ETL 1. Informatic 下载 下载地址:https://edelivery.oracle.com/osdc/faces/Home.jspx,没有账号可以自己注册一个Oracle账号. 不得 ...

  2. nginx cookie 丢失问题

  3. 把spring boot发布成window Service

    一:下载Winsw, 把下载后的文件名改为你的应用如doctor.exe 二:添加xml <service> <id>doctor-api-service</id> ...

  4. 8 . IO类-标准IO、文件IO、stringIO

    8.1 IO类 #include <iostream> //标准IO头文件  8.2 文件输入输出流 #include <fstream> //读写文件头文件 std::fst ...

  5. 与数论的厮守01:素数的测试——Miller Rabin

    看一个数是否为质数,我们通常会用那个O(√N)的算法来做,那个算法叫试除法.然而当这个数非常大的时候,这个高增长率的时间复杂度就不够这个数跑了. 为了解决这个问题,我们先来看看费马小定理:若n为素数, ...

  6. C# Newtonsoft.Json JsonSerializerSettings 全局序列化设置

    Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings(); JsonC ...

  7. 即时通讯(III)

    即时通讯的开源库 目前及时通讯可以使用环信.柔云.腾讯云,这些都是基于TCP连接的,UI也是高度定制的,而且它们的技术也是比较成熟的. XMPP比较早,是开源的,但是坑也比较多.传输的数据是XML,造 ...

  8. Python 第五阶段 学习记录之---Django 进阶

    Model 一.创建表 1.基本结构 字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bi ...

  9. angular和vue还有jquery的区别

    angularjs简单介绍和特点 首先angular是一个mvc框架, 使用mvc解耦, 采用model, controller以及view的方式去组织代码, 会将一个html页面分成若干个模块, 每 ...

  10. 洛谷P2820 局域网 (最小生成树)

    题目链接:https://www.luogu.org/problemnew/show/P2820 题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内 ...