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

转载于:https://www.cnblogs.com/xiao-baobao/p/10158516.html

js parseInt()与Number()区别相关推荐

  1. js parseInt()和Number()区别

    学习目标: parseInt().Number()这两个函数用到最多的地方就是把一个字符串转换成数据类型,那么他们都有哪些区别? 学习内容: parseInt()函数将给定的字符串以指定的基数解析为整 ...

  2. js中!和!!的区别及用法

    js中!和!!的区别及用法 js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值, 1.!可将变量转换成boolean类型,null.undefined和 ...

  3. JS和JQUERY的区别

    JS和JQUERY的区别 ①.根据ID取元素 { JS:取到的是一个DOM对象. 例:var div = document.getElementByID("one"); JQUER ...

  4. js 中的 number 为何很怪异

    js 中的 number 为何很怪异 声明:需要读者对二进制有一定的了解 对于 JavaScript 开发者来说,或多或少都遇到过 js 在处理数字上的奇怪现象,比如: > 0.1 + 0.2 ...

  5. JQuery的ready函数与JS的onload的区别详解

    JQuery的ready函数与JS的onload的区别: 1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结 ...

  6. js setTimeout和setInterval区别

    1.区别 2.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset=&qu ...

  7. 冲突问题和核心对象和原生js 和 jquer的区别的两个区别(固定格式的区别和入口函数的区别)

    jQuery的冲突问题 $有可能其他框架也用 导致两个框架的符号相同出现问题冲突 第一种解决: 释放$的使用权 jQuery.noConflict();//释放$的使用权语句 释放操作必须在编写其他j ...

  8. js 中的 number 为何很怪异 1

    js 中的 number 为何很怪异 声明:需要读者对二进制有一定的了解 对于 JavaScript 开发者来说,或多或少都遇到过 js 在处理数字上的奇怪现象,比如: > 0.1 + 0.2 ...

  9. 原生js与jquery的区别

    原生js与jquery的区别 1.选择器: js: $('.car_img_con img')[0]; var jsObj = document.getElementsByClassName('sel ...

最新文章

  1. 【OpenCV 4开发详解】图像LUT查找表
  2. 5G时代,工业互联网安全挑战远超消费互联网
  3. php性能分析工具 - xhprof的安装使用
  4. 网络管理员所需要的知识结构和素质
  5. Vue项目中Table设置 render 函数
  6. mysql 常见密码设置_设置mysql用户密码(5.6/5.7)、远程连接数据库、常用命令
  7. python内置函数详解总结篇_Python内置函数详解——总结篇
  8. 单片机ADC采样算法----递推平均值采样法
  9. 程序员大危机,工作难逃监视系统“法眼”
  10. vacode允许c_使用VS code编译运行C,C++,Java程序
  11. python中startout是什么意思_Python socket.timeout方法代碼示例
  12. powershell excel 导入 sqlserver
  13. 【基础篇】Navicat让MySQL数据库可视化
  14. linux vim创建文件配置文件,vim linux 强大的配置文件
  15. 使用Excel制作证件照之替换背景色
  16. 【无标题】关于CTF的相关知识
  17. 电路实验一阶电路误差分析_差动放大电路 | 电阻误差对共模抑制比的影响有多大?...
  18. Linux下parity联盟链的实现
  19. iOS 九年,技术迭代迅捷下如何保持核心竞争力?
  20. Unity3D Shader系列之描边

热门文章

  1. ContentProvider与ContentResolver使用
  2. 栈的链式存储及其基本运算
  3. iOS全局变量与属性的内存管理
  4. Hello Blog!
  5. 两款开源Web功能测试工具
  6. 企业是否应该实现对客户需求的快速响应_如何做好企业服务?
  7. axis2 wsdl2java 使用方式
  8. java 缓存接口,java项目中,针对缓存问题的处理方式【接口中的处理方式】
  9. php+反序列化代码执行漏洞,PHP反序列化漏洞
  10. html的扇形代码导航,CSS3--利用transform和transition属性制作扇形导航