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
最新文章
- 【原】AFNetworking源码阅读(三)
- U盘安装centos7 无法进入安装界面,进入dracut命令的解决办法。
- sql视图实例
- Spring应用教程-1
- mybatis hellworld
- 关于asp.net和iis的进程/线程问题,假如网站有1000个人访问,会产生多少个进程/线程啊
- CF #Manthan, Codefest 16 C. Spy Syndrome 2 Trie
- [原创]一种基于Python爬虫和Lucene检索的垂直搜索引擎的实现方法介绍
- FusionCharts 2D柱状图和折线图的组合图
- hashcode()和equals()
- Linux驱动之LCD驱动编写
- [PHP]算法-二进制中1的个数的PHP实现
- 【Web前端】清除css、javascript及背景图在浏览器中的缓存
- sas 基础(1)-关于数据格式的SAS函数
- c 取读地图输入
- JeeSite 4.x 树形结构的表设计和用法
- O(n)空间复杂度,打印杨辉三角形的前n行
- 《opencv学习》 之 几何变换
- ftp服务器问题
- 【Loadrunner】平台1.9环境APP成功录制并调试成功后的脚本备份
热门文章
- IntelliJ IDEA 常用设置 (二)
- IIS 8的第一次请求不变慢如何配置
- Ubuntu16.04密码正确 进不去桌面系统(已测试恢复正常)
- Caffe源码中math_functions文件分析
- 使用xshell连接服务器,数字键盘无法使用解决办法
- *C#(WPF)--矩阵拖动和矩阵动画(拖动展开,不足动画效果)
- .Net core使用EF Core Migration做数据库升级
- split-brain 脑裂问题(Keepalived)
- B树、B-树、B+树、B*树相关
- Individual Project - Word frequency program——12061154Joy