参考阅读:
详解js中Number()、parseInt()和parseFloat()的区别
详解JS转换数值函数Number()、parseInt()、parseFloat()
在项目开发中我们经常会用到转型方法,尤其是JS这种松散型的语言。其中比较常用的方法就是Number()方法和ParseInt()/ParseFloat()方法了,下面我们分别对这几种方法的转型机制进行详细地说明。具体内容详情如下所示:
【正文内容】
-------------------------------------------------------------------------------------
--Number()
--
--
--Boolean值,true和false值将分别被转为1和0。
--
--数字值,整型就是整型,浮点型就是浮点型,科学计数就科学计数
--
--null值,转为0
--
--二进制,八进制,十六进制格式,转为十进制的数值
--
--字符串为空,转为0
--
--字符串中是纯科学计数,数值会直接转为十进制的数值
--
--undefined , 对象 , 数组 ,字符串不为纯数字和科学计数时 返回NaN
------------------------------------------------------------------------------------
//JS区分0和-0 var num = 123; var num = 123.123; var num = 0b10; var num = 010; var num = 0xff; var num = 5e2; var num = 5e-2; var num = NaN; console.log('值: ' , num); console.log('类型: ' , typeof(num)) //NaN本身为false //其他类型转为数值失败时都为NaN console.log(NaN - 100); if(NaN){ console.log('Yes'); }else{ console.log('No'); } //NaN var a = '123ad'; //123 var a = '123'; //NaN var a = 'f3ad'; //0 var a = false; //1 var a = true; //NaN var a = undefined; var a = new Object(); var a = Array(1,23); //1e+124 var a = 10e123; //3 var a = 0b11; //255 var a = 0xff; //1.23 var a = 1.23; //0 var a = ''; //1200 var a = '12e2'; //0 var a = null; //90 var a = 0132; var n = Number(a); console.log(n);
----------------------------------------------------------------------------------------------------------------------------------------
--parseInt()
--
--
--数值正常转化,如果为浮点数,则转为整型,舍弃小数点后的数值
--
--字符串起始包含数字时则数字那段转为数值,后面舍弃
--
--二进制,八进制,十六进制转化时,转化为十进制的数值
--
--科学计数法,能解析时正常解析,不能时返回第一个数字
--
--Boolean,undefined , 对象 , 数组 ,空字符串,字符串开头不为纯数字和科学计数时 返回NaN
--
--parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。
----------------------------------------------------------------------------------------------------------------------------------------
//123 var a = '123ad'; //123 var a = '123'; //NaN var a = 'f3ad'; //NaN var a = false; //NaN var a = true; //NaN var a = undefined; var a = new Object(); //13 第一个值 var a = Array(13,2); //3100000能够解析处时正常解析,不能时只返回第一个数字 var a = 31e5; //3 var a = 0b11; //255 var a = 0xff; //1 var a = 1.23; //NaN var a = ''; //12 字符串只返回12e舍弃 var a = '12e2'; //NaN var a = null; //1 var a = 1.5; //90 var a = 0132; var n = parseInt(a); console.log(n); var a = parseInt("10",2); var a = parseInt("FF",16); var a = parseInt("10",8); console.log(a);
--------------------------------------------------------------------------------------------------------------------------------
--parseFloat()
--
--
--数值正常转化,整型为整型,浮点型为浮点型
--
--字符串起始包含数字时则数字那段转为数值,后面舍弃
--
--二进制,八进制,十六进制转化时,转化为十进制的数值
--
--科学计数法,能解析时正常解析,超出范围则返回Infinity
--
--Boolean,undefined , 对象 , 数组 ,空字符串,字符串开头不为纯数字和科学计数时 返回NaN
--
--不能有多个小数点报语法错误
--------------------------------------------------------------------------------------------------------------------------------
//123 var a = '123ad'; //123 var a = '123'; //NaN var a = 'f3ad'; //NaN var a = false; //NaN var a = true; //NaN var a = undefined; var a = new Object(); //13 第一个值 var a = Array(13,2); //3100000 范围过大将转为科学计数法再大将为Infinity var a = 31e5; //3 var a = 0b11; //255 var a = 0xff; //1.23 var a = 1.23; //NaN var a = ''; //1200 var a = '12e2aa'; //NaN var a = null; //1.5 var a = 1.5; //90 var a = 0132; // var a = 1.113; var n = parseFloat(a); console.log(n);
总结
以上所述是小编给大家介绍的深入理解JS中Number(),parseInt(),parseFloat()三者比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍详解js中Number()、parseInt()和parseFloat()的区别,包括了详解js中Number()、parseInt()和parseFloat()的区别的使用技巧和注意事项,需要的朋友参考一下 一:Number() 如果是Boolean值,true和false值将分别被转换为1和0。 如果是数字值,只是简单的传入和返回。 如果是null值,返回0。 如果是undefi
本文向大家介绍详解JS转换数值函数Number()、parseInt()、parseFloat(),包括了详解JS转换数值函数Number()、parseInt()、parseFloat()的使用技巧和注意事项,需要的朋友参考一下 JS中有三种函数可以将非数值转换成数值:Number()、parseInt()和parseFloat()。第一个函数,即转型函数Number()可以用于任何数据类型,而
本文向大家介绍深入理解JS addLoadEvent函数,包括了深入理解JS addLoadEvent函数的使用技巧和注意事项,需要的朋友参考一下 首先是addLoadEvent函数的代码清单: 理解起来就是: 1.把现有的window.onload事件处理函数的值存入变量 oldonload; 2.如果在这个处理函数上还没有绑定任何函数,就像平常那样把新函数添加给它; 3.如果在这个处理函数上已
本文向大家介绍深入理解js中this的用法,包括了深入理解js中this的用法的使用技巧和注意事项,需要的朋友参考一下 this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。 1、纯粹函数调用。 其实这里的this就是全局变量。看下面的例子就能很好的理解其实this就是全局对象Global。其实这里的this就是全局变量
本文向大家介绍js变量提升深入理解,包括了js变量提升深入理解的使用技巧和注意事项,需要的朋友参考一下 JavaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”到函数顶部: 虽然是strict模式,但语句var x = 'Hello, ' + y;并不报错,原因是变量y在稍后申明了。但是alert显示Hello, undefined,说明变量y的值为undefi
本文向大家介绍JS回调函数深入理解,包括了JS回调函数深入理解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS回调函数。分享给大家供大家参考,具体如下: 一、前奏 在谈回调函数之前,先看下下面两段代码: 不妨猜测一下代码的结果。 如果你测试了,就会发现: 只写变量名 say 返回的将会是 say方法本身,以字符串的形式表现出来。 而在变量名后加()如say()返回的就会使say方