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 ...
随机推荐
- Android ScrollView和ListView联用,且ListView可以下拉刷新和上拉加载
ScrollView嵌套listView且ListView可以实现上拉加载. 由于代码太长,在此只提供实现思路: 先不说上拉加载的事,咱们先回想一下,ScrollView和LsitView联用,时的解 ...
- JVM有哪些分区?(解释详细 通俗易懂)
JVM的分区可以分为两种:线程私有的内存区和线程共享的内存区 一.JVM中线程私有的内存区: 1.程序计数器:当前线程所执行的字节码行号计数指示器,是线程私有的,即每个线程都有自己的程序计数器,需要注 ...
- python属性查找 深入理解(attribute lookup)
在Python中,属性查找(attribute lookup)是比较复杂的,特别是涉及到描述符descriptor的时候. 在上一文章末尾,给出了一段代码,就涉及到descriptor与attribu ...
- odoo系统中name_search和name_get用法
自动带出工序和工序序号,两个条件都能搜索,并且两个都带出来显示在前端: # 输入工序序号会自动带出工序名// def name_search(self, cr,user,name='', args=N ...
- Github.Git
Github介绍:http://www.yangzhiping.com/tech/github.html Git:http://res.crossincode.com/wechat/git.html
- angularjs为ng-click事件传递参数
在angularjs开发中,我们需要为ng-click事件传递一个参数. 在js中,可以接到参数: 演示:
- LiveCharts文档-3开始-1安装
原文:LiveCharts文档-3开始-1安装 LiveCharts文档-3开始-1安装 我不会逐字逐句翻译,有些过于基本的地方语言上会所略 三个平台我只翻译WinForm,其他的WPF和UWP大部分 ...
- [React]全自动数据表格组件——BodeGrid
表格是在后台管理系统中用的最频繁的组件之一,相关的功能有数据的新增和编辑.查询.排序.分页.自定义显示以及一些操作按钮.我们逐一深入进行探讨以及介绍我的设计思路: 新增和编辑 想想我们最开始写新增 ...
- js中的栈、堆、队列、内存空间
栈(stack) .堆(heap). 队列(queue)是js的三种数据结构. 栈(stack) 栈的特点是"LIFO,即后进先出(Last in, first out)".数据存 ...
- 一文让你完全弄懂Stegosaurus
国内关于 Stegosaurus 的介绍少之又少,一般只是单纯的工具使用的讲解之类的,并且本人在学习过程中也是遇到了很多的问题,基于此种情况下写下此文,也是为我逝去的青春时光留个念想吧~ Stegos ...