js parseInt()与Number()区别

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java大小端字节流解析_玩转socket之字节流操作--拼包、拆包

玩转socket之字节流操作--拼包、拆包我们开发中用得最多的HTTP协议及超文本传输协议&#xff0c;是一种基于TCP/IP的文本传输协议。基本很少碰到字节流操作。但是我过我们要用socket&#xff0c;实现一套基本TCP/IP协议的自定义协议&#xff0c;那么&#xff0c;对于字节流的操…

js替换数组中字符串实例

这个是替换数组中的一个对象字符串&#xff1b; 直接上代码&#xff1a; 1 var aaa[ 2 {"name":"张珊","sex":"man"}, 3 {"name":"李斯","sex":"woman"}, 4 …

ie浏览器升级_微软呼吁用户停用IE浏览器 2020年将不再更新升级

驱动中国2019年2月10日消息 IE浏览器作为美国微软公司推出的一款网页浏览器成为许多人接触互联网初选&#xff0c;深受不少用户喜欢但这款流畅多年的浏览器正式遭弃用&#xff01;今日微软网络安全专家在在官方Winhows IT Pro上发帖呼吁用户停止使用IE浏览器&#xff01;微软网…

有条件忽略测试的JUnit规则

我一直认为使用Ignore停用测试是一个坏主意。 例外&#xff0c;这可能是一种将间歇性失败的测试放入隔离区以供以后处理的方法&#xff08;如Martin Fowler 在此处所述 &#xff09;。 随着越来越多的测试不断被忽略和遗忘&#xff0c;这带来了测试套件衰减的危险。 因此&#…

【学亮IT手记】PL/SQL游标编程

游标提供了一种从表中检索数据并进行操作的灵活手段&#xff0c;主要用在服务器上&#xff0c;处理由客户端发送给服务器端的sql语句&#xff0c;或者是批处理、存储过程、触发器中的数据处理请求。 显式游标 是由用户声明和操作的一种游标&#xff0c;通常用于将查询出的结果集…

CentOS安装zookeeper

第一步&#xff0c;先去Apache下载安装包 http://mirror.bit.edu.cn/apache/zookeeper/ 第二步&#xff0c;上传到服务器并解压 tar -zxvf zookeeper-3.4.6 第三步&#xff0c;新建一个文件夹 #先改个名 mv zookeeper-3.4.6 zookeeper cd zookeeper mkdir data 第四步&#xff…

php根据id查找条件怎么写_thinkphp where()条件查询

今天来给大家讲下查询最常用但也是最复杂的where方法&#xff0c;where方法也属于模型类的连贯操作方法之一&#xff0c;主要用于查询和操作条件的设置。where方法的用法是ThinkPHP查询语言的精髓&#xff0c;也是ThinkPHP ORM的重要组成部分和亮点所在&#xff0c;可以完成包括…

3分钟简单了解 prototype 和 __proto__

关于prototype 1. 所有的函数都会有一个prototype属性&#xff0c;属性值是一个普通对象&#xff1b; 2. 当我们去new一个构造函数的实例时&#xff0c;构造函数的原型对象(prototype)会被赋值给它实例的[[Prototype]]属性上&#xff1b; 3. prototype可被称为“显式原型”。…

rdlc报表 矩形高固定_固定资产条码管理系统特点分析

固定资产条码管理系统的特点都有什么&#xff1f;固定资产是维持企业稳定健康发展的重要物质保障&#xff0c;若想最大化发挥固定资产的效能作用&#xff0c;满足生产经营管理的需求&#xff0c;提高应对企业内外部经营环境变化的能力&#xff0c;企业管理者就必须及时了解固定…

Spring 4中@ControllerAdvice的改进

在Spring 4的许多新功能中&#xff0c;我发现了ControllerAdvice的改进。 ControllerAdvice是Component的特殊化&#xff0c;用于定义适用于所有RequestMapping方法的 ExceptionHandler&#xff0c; InitBinder和ModelAttribute方法。 在Spring 4之前&#xff0c; ControllerAd…

bzoj 2007 [Noi2010]海拔——最小割转最短路

题目&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id2007 一个点的高度一定不是0就是1。答案一定形如一个左上角的连通块全是0的点、一个右下角的连通块全是1的点。 注意从东到西还有从南到北的边也有用&#xff01;因为不一定是一个阶梯形的&#xff0c;还可以…

php 四维数组_PHP 多维数组

PHP - 两维数组两维数组是数组的数组(三维数组是数组的数组的数组)。首先&#xff0c;让我们看看下面的表格&#xff1a;品牌库存销量Volvo3320BMW1715Saab52Land Rover1511我们能够在两维数组中存储上表中的数据&#xff0c;就像这样&#xff1a;$cars array(array("Vol…

Vue于React特性对比(二)

一&#xff0c;关于响应式数据更新方式的实现 1&#xff09;只有在data里面定义的数据才会有响应式更新 vue依赖的defineProperty的数据劫持加上依赖数据&#xff0c;实现数据的响应式更新。可以称之为依赖式的响应。因为依赖所以注定了只会更新与data相关的数据。 2&#xff0…

《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

读书笔记第一部分对应原书的第一章&#xff0c;主要介绍了Web应用程序的发展&#xff0c;功能&#xff0c;安全状况。 Web应用程序的发展历程 早期的万维网仅由Web站点构成&#xff0c;只是包含静态文档的信息库&#xff0c;随后人们发明了Web浏览器用来检索和显示那些文档&am…

电脑入门完全自学手册_3DMAX零基础入门到精通的学习路线和教程

没有美术基础可以学建模吗&#xff1f;毋庸置疑&#xff0c;只要肯学都是可以的&#xff01;那么我们今天来说说零基础学习建模要着重注意什么。最高效最快速的入门学习方式&#xff1a;看知识兔视频课程&#xff0c;跟着知识兔老师操作&#xff0c;听知识兔老师讲解&#xff0…

使用Java RMI时要记住的两件事

这是一篇简短的博客文章&#xff0c;介绍使用Java RMI时应注意的两个常见陷阱。 设置java.rmi.server.hostname 如果您感到陌生&#xff0c;Connection拒绝托管&#xff1a; RMI客户端上的错误消息&#xff0c;并且您确定连接应该正常工作&#xff08;您仔细检查了所有标准配置…

Python-UiAutomator2实现Android自动化测试

本帖转自搜狗测试公众号 【一、前言】 基于Python-UiAutomator2实现Android自动化测试&#xff0c;小编在Android应用的自动化性能测试中进行了实践。本篇将简单介绍python中使用adb、aapt命令的方法以及Python-UiAutomator2使用&#xff0c;后续文章将对环境搭建以及自动化性能…

阅读笔记:ImageNet Classification with Deep Convolutional Neural Networks

概要&#xff1a; 本文中的Alexnet神经网络在LSVRC-2010图像分类比赛中得到了第一名和第五名&#xff0c;将120万高分辨率的图像分到1000不同的类别中&#xff0c;分类结果比以往的神经网络的分类都要好。为了训练更快&#xff0c;使用了非饱和神经元并对卷积操作进行双GPU实现…

vsCode 设置vue 保存自动格式化代码

setting {// vscode默认启用了根据文件类型自动设置tabsize的选项"editor.detectIndentation": false,// 重新设定tabsize"editor.tabSize": 2,// #每次保存的时候自动格式化"editor.formatOnSave": true,// #每次保存的时候将代码按eslint格式进…

您是否敢更改HashMap实现?

如今&#xff0c;有大胆的工程师在为Oracle工作。 昨天尝试确定Heisenbug时&#xff0c;我得出了这个结论。 不足为奇&#xff0c;当我尝试找到解决方案时&#xff0c;该错误似乎消失了。 几个小时后&#xff0c;将问题归结为JDK7更新之间的细微差别&#xff0c;该错误的“ Hei…