JS中Number(),parseInt(),parseFloat()和自动类型转换
【参考来源】
https://www.cnblogs.com/yi0921/p/6196841.html
https://blog.csdn.net/u010200222/article/details/10282351
【正文内容】
Number()
-------------------------------------------------------------------------------------
--Number()
--
--
--Boolean值,true->1,false->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';
//
var a = '123';
//NaN
var a = 'f3ad';
//
var a = false;
//
var a = true;
//NaN
var a = undefined;
var a = new Object();
var a = Array(1,23); //1e+124
var a = 10e123; //
var a = 0b11; //
var a = 0xff; //1.23
var a = 1.23; //
var a = ''; //
var a = '12e2'; //
var a = null; //
var a = 0132; var n = Number(a);
console.log(n);
parseInt()
-----------------------------------------------------------------------------------------------------------------------------------------
--parseInt()
--
--
--数值正常转化,如果为浮点数,则转为整型,舍弃小数点后的数值
--
--数字开头的字符串,只转换数字整数部分,忽略字母部分
--
--二进制,八进制,十六进制转化时,转化为十进制的数值
--
--科学计数法,能解析时正常解析,不能时返回第一个数字
--
--Boolean,undefined , 对象 , 数组 ,空字符串,字符串开头不为纯数字和科学计数时 返回NaN
----------------------------------------------------------------------------------------------------------------------------------------
//
var a = '123ad';
//
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; //
var a = 0b11; //
var a = 0xff; //
var a = 1.23; //NaN
var a = ''; //12 字符串只返回12e舍弃
var a = '12e2'; //NaN
var a = null; //
var a = 1.5; //
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()
--------------------------------------------------------------------------------------------------------------------------------
--parseFloat()
--
--
--数值正常转化,整型为整型,浮点型为浮点型
--
--数字开头的字符串,只转换数字整数部分,忽略字母部分
--
--二进制,八进制,十六进制转化时,转化为十进制的数值
--
--科学计数法,能解析时正常解析,超出范围则返回Infinity
--
--Boolean,undefined , 对象 , 数组 ,空字符串,字符串开头不为纯数字和科学计数时 返回NaN
--
--不能有多个小数点报语法错误
--------------------------------------------------------------------------------------------------------------------------------
//
var a = '123ad';
//
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; //
var a = 0b11; //
var a = 0xff; //1.23
var a = 1.23; //NaN
var a = ''; //
var a = '12e2aa'; //NaN
var a = null; //1.5
var a = 1.5; //
var a = 0132; //
var a = 1.113; var n = parseFloat(a);
console.log(n);
自动类型转换
数字类型: 在字符串环境下 隐身转换为字符串
字符串类型 在数字环境下,可以隐式转换为字符串中的数字或NaN;
在布尔环境下,可以隐式转换为true.
空字符串:在数字环境下可以隐式转换为0;
在布尔环境下可以隐式转换为false;
字符串'true': 在数字环境下可以隐式转换位1;布尔为true
字符串'false': 数字环境为0,布尔位false
null: 在字符串环境下,转换为'null';
数字环境下,转换为0,布尔环境下,转为false
NaN: 在字符串环境下可以隐式转换为'NaN';
布尔环境下,转换为false
undefined: 字符串环境下,转换为“undefined”,
数字环境下,转为NaN,
布尔下,转为false
true: 字符串转为'true',数字环境下转为1
false: 字符串转为'false',数字环境下转为0
JS中Number(),parseInt(),parseFloat()和自动类型转换的更多相关文章
- Number,parseInt,parseFloat函数
Number,parseInt,parseFloat函数 console.group('Number'); console.log(Number( console.log(Number( consol ...
- 详解JS中Number()、parseInt()和parseFloat()的区别
三者的作用: Number(): 可以用于任何数据类型转换成数值: parseInt().parseFloat(): 专门用于把字符串转换成数值: 一.Number( ): (1)如果是Boolean ...
- Number(),parseInt(),parseFloat(),Math.round(),Math.floor(),Math.ceil()对比横评
首先,这些处理方法可分为三类. 1,只用来处理数字取整问题的:Math.round(),Math.floor(),Math.ceil(): 2,专门用于把字符串转化成数值:parseInt(),par ...
- java重载中的基本类型的自动类型转换
当传递到函数的参数的数据类型表示的范围小于函数形参的参数类型遵循如下原则 : char类型比较特殊, 直接转换为int: char ->int ->long->float-> ...
- js中Number()、parseInt()和parseFloat()的区别
一:Number() 如果是Boolean值,true和false值将分别被转换为1和0. 如果是数字值,只是简单的传入和返回. 如果是null值,返回0. 如果是undefined,返回NaN. 如 ...
- js中Number()、parseInt()和parseFloat()的区别进行详细介绍
http://www.jb51.net/article/100606.htm 区别: parseFloat,parseInt 解析的过程中如果前面有空格,结果不会有任何影响,Number解析的时候结 ...
- JavaScript中Number(),parseInt()和parseFloat()区别
parseInt() 函数可解析一个字符串,并返回一个整数; parseFloat() 函数可解析一个字符串,并返回一个浮点数, 以上都是截取转换,具体代码如下: alert(parseInt(&qu ...
- js中Number对象与MATH方法整理总结
W3C的文档: Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_VALUE 可表示的最小的数 ...
- Number(), parseInt(), parseFloat()
var n="100.11px";console.log(Number(n));//NaNconsole.log(parseInt(n));//100console.log(par ...
随机推荐
- 5、数组&字符串&结构体&共用体&枚举
程序中内存从哪里来 三种内存来源:栈(stack).堆(heap).数据区(.date): 栈(stack) 运行自动分配.自动回收,不需要程序员手工干预: 栈内存可以反复使用: 栈反复使用后,程序不 ...
- C语言学习 例四
#inlude <studio.h> int main(){ int x,y; sanf("%d",&x); if (x<0) y=-1; els ...
- (译)理解 LSTM 网络 (Understanding LSTM Networks by colah)
@翻译:huangyongye 原文链接: Understanding LSTM Networks 前言:其实之前就已经用过 LSTM 了,是在深度学习框架 keras 上直接用的,但是到现在对LST ...
- ubuntu12.04安装squid
一:简介 1.Squid:优化Web交付 Squid是支持HTTP,HTTPS,FTP等的Web的缓存代理.它通过缓存和重用经常请求的网页来减少带宽并缩短响应时间.Squid拥有广泛的访问控制,是一个 ...
- 使用Zabbix服务端本地邮箱账号发送报警邮件及指定报警邮件操作记录
邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain), ...
- 定时备份windows机器上的文件到linux服务器上的操作梳理(rsync)
由于需要对网络设备做备份,备份文件是放到windows机器上的.现在需要将备份数据同步到linux备份机器上,想到的方案有三种: 1)将windows的备份目录共享出来,然后在linux服务器上进行挂 ...
- 树莓派 Raspberry Pi 更换国内源
http://www.shumeipaiba.com/wanpai/jiaocheng/16.html
- JS进阶系列之执行上下文
function test(){ console.log(a);//undefined; var a = 1; } test(); 也许你会遇到过上面这样的面试题,你只知道它考的是变量提升,但是具体的 ...
- 安装Visual Studio2013
安装Visual Studio2013现在官网下载在选择安装的可选功能这里,大家可以根据自己需要勾选,也可以默认全选.这里有个小功能,把鼠标放在文字上,会弹出各个功能的详细描述.选择四个常用的功能,另 ...
- 个人阅读作业 --软件工程M1/M2总结
软件工程M1/M2总结 写在前面的话: 这学期的软件工程伴着考期的展开逐渐落下帷幕,回顾这学期的软件工程,我感觉我的热情在一次又一次的失落中逐步消耗殆尽,每个人对于这门课的体验都会有所不同吧,可以确定 ...