JS parseInt() 、parseFloat()、Number()
介绍:
parseInt(string, radix)
parseFloat(string)
Number(object)
举例:
总结:
parseInt(string, radix)
parseFloat(string)
Number(object)
介绍:
parseInt(string, radix)
定义:解析一个字符串 (如果不是字符串,将则将其转换为字符串) 并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数。
工作原理:从左到右开始一个一个字符解析,直到解析完毕整个字符串 或 解析遇到非数值 或 解析遇到小数点 后 中止解析 并返回已经 解析的部分。
parseFloat(string)
定义:函数可解析一个字符串,并返回一个浮点数。
工作原理:从左到右开始一个一个字符解析,直到解析完毕整个字符串 或 解析遇到非数值 或 解析遇到了第二个小数点 后 中止解析 并返回已经 解析的部分。
Number(object)
定义:函数把 对象 的值转换为数字并返回。
工作原理:相比 parseInt 与 parseFloat,Number 是对整个对象进行解析 后 进行结果返回
举例:
// 整数 字符串
let param = '18';
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18
console.log(Number(param)) // 18// 小数 字符串
let param = '18.2';
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18
console.log(Number(param)) // 18// 整数前面带有0的 字符串
let param = '000018.2';
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18.2
console.log(Number(param)) // 18.2// 空 字符串
let param = '';
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 0// 多个逗号 字符串
let param = '18.2.3';
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18.2
console.log(Number(param)) // NaN// 数值后带有非数值 字符串
let param = '18px';
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18
console.log(Number(param)) // NaN// 数值前带有非数值 字符串
let param = 'px18';
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // NaN特殊情况:
// null
let param = null;
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 0// undefined
let param = undefined;
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // NaN// Boolean
let param = true;
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 1// Boolean
let param = false;
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 0// Date
let param = new Date();
console.log(parseInt(param)) // NaN
console.log(parseFloat(param)) // NaN
console.log(Number(param)) // 1655278285053// Array
let param = new [18];
console.log(parseInt(param)) // 18
console.log(parseFloat(param)) // 18
console.log(Number(param)) // 18
总结:
parseInt(string, radix)
举例:parseInt('100', 2) 那么100被作为2进制数被解析出 十进制整数。
- 如果传入 参数首位和末位是空格会被忽略。
- 如果传入 Array 会对角标为0的元素进行解析 返回 解析的结果。
- 如果 radix 小于2大于36 返回 NaN。
- 如果 radix 是 undefined、0 或未指定的情况。
- 如果输入的
string 以 0x 或 0X(一个 0,后面是小写或大写的 X)开头
,那么 radix 被假定为 16,字符串的其余部分被当做十六进制数去解析。 - 如果输入的
string 以 "0"(0)开头
,radix 被假定为 8(八进制)或 10(十进制)。具体选择哪一个 radix 取决于实现。ECMAScript 5 澄清了应该使用 10 (十进制),但不是所有的浏览器都支持。 - 如果输入的
string 以1 ~ 9开头
,radix 是 10 (十进制)。
- 如果输入的
parseFloat(string)
- 如果传入 包含 正号(+)、负号(-)、数字(0-9)、小数点(.)、或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,并返回已经 解析的部分。
- 如果传入 包含了第二个小数点的出现也会使解析停止。
- 如果传入 参数首位和末位是空格会被忽略。
- 如果传入 参数字符串的第一个字符不能被解析成为数字,则返回 NaN。
- 如果传入 Array 会对角标为0的元素进行解析 返回 解析的结果。
Number(object)
- 如果传入 Boolean 为 true 时 返回 1、Boolean 为 false 时 返回 0。
- 如果传入 undefined 返回 NaN。
- 如果传入 null 返回 0。
- 如果传入 Date 返回 毫秒数。
- 如果传入 Array
- 数组长度为1时,会对角标为0的元素进行转换为数字 ,并返回结果。
- 如果长度大于1时,返回 NaN。
- 如果传入 正常的数值 返回 传入的数值。
- 如果传入 对象的值无法转换为数字 返回 NaN。
- 如果传入 字符串
- 如果传入 空字符串 返回 0。
- 如果传入 字符串中包含有效的十六进制格式,例如"0xf",则将其他转换为相同大小的十进制整数值。
- 如果是字符串中只包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即“1”变成1,“123”会变成123,而“011”会变成11(前导的零被忽略了)。
- 如果字符串中包含有效的浮点格式,如“1.1”,则将其转换为对应的浮点数值(同样也会忽略前导零)。
- 如果字符串中包含除上述格式之外的字符,则将其他转 返回 NaN。
如果帮助到你,不要吝啬你的小手,来个四连 点赞收藏+关注评论吧!
JS parseInt() 、parseFloat()、Number()相关推荐
- js中字符串类型转化toString、parseInt、parseFloat、Number
全栈工程师开发手册 (作者:栾鹏) js系列教程3-字符串.正则表达式全解 js中字符串类型转化 其他类型转化为字符串: 代码如下: var num= 19; // 19 var myStr = nu ...
- parseInt() 、 parseFloat() 和Number()的区别
字符串转换数字的方式 一.parseInt 二.parseFloat 三.Number 四.parseInt() 和parseFloat()的区别 一.parseInt parseInt()函数在转换 ...
- parseInt,parseFloat,Number的区别
Number:如果是Boolean值,true和false值将分别被转换为1和0.如果是数字值,只是简单的传入和返回.如果是null值,返回0.如果是undefined,返回NaN.如果是字符串:a. ...
- Go语言常用标准库——log、net_http、strconv、time包
文章目录 log 使用Logger 配置logger 标准logger的配置 flag选项 配置日志前缀 配置日志输出位置 创建logger 总结 net_http net/http介绍 HTTP协议 ...
- Go开发 之 基础语法(数据类型、类型转换、运算符的优先级)
文章目录 1.数据类型 1.1.数值类型 1.1.1.整型(整数类型) 1.1.2.浮点型(小数类型) 1.1.3.复数 1.2.bool类型(布尔类型) 1.3.字符串类型 1.3.1.定义字符串 ...
- js函数 Number()、parseInt()、parseFloat()的区别:
Number().parseInt().parseFloat()的区别: Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是 ...
- JS转换为数字的方法Number()、parseInt()和 parseFloat()
Number().parseInt()和 parseFloat() 第一个函数, 即转型函数 Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值.这 3 个 函数对于同样的 ...
- Number()、parseInt()和parseFloat()的区别
JS中Number().parseInt()和parseFloat()的区别 三者的作用: Number(): 可以用于任何数据类型转换成数值: parseInt(): 函数可解析一个字符串,并返回 ...
- Number、parseInt和parseFloat的区别
1.Number() 可以把任何类型的数据转换为数值或NaN(not a number),parseInt()和parseFloat()只能把字符串或数值转换为数值: 2.Number()和parse ...
最新文章
- 短序列拼接软件velvet简介
- vimrc 配置 史上最牛
- GRUB基本使用介绍
- 天眼FAST如何发现脉冲星?
- 自定义LeNet5,开启你的炼丹之路
- spark python 上传代码包_使用 Livy Rest API 提交 spark 批量任务 (jar,Python, streaming)...
- c++中BOOL和bool的区别
- .gitignore文件_Java小白入门,Git忽略文件.gitignore详解
- 加密算法(二)——MD5,Base64,DES,RSA加密算法解析
- visio 2003密钥
- 十分钟读完《金字塔原理》
- 首都师范 博弈论 5 4 4 多人合作博弈问题 Shapley计算之财产分配问题
- 【重要】股票收益互换
- C语言表白流星(末尾附加下载地址)
- 企业外贸出口业务流程图 	进出口贸易流程细节
- 我是如何把一套GitLab CI/CD课程做到全网第一的?
- vuex刷新state数据丢失问题
- 微信识别图片文字直接导出Word方法
- printf \a 响铃的流程(你想知道的C语言 1.9)
- 没有植入的内容就是TM在逗我
热门文章
- day01-docker安装mysql5.7
- 北京理工大学计算机学院王涌天,五分钟光学| 北京理工大学王涌天教授谈混合现实技术...
- 深度估计软件DERS6.1使用方法
- 快速学习COSMIC方法之十一:如何识别输入?
- LeCun、吴恩达等4位大佬解析2019人工智能
- wordpress搜索ajax,wordpress ajax搜索提示
- webpack 命令 Module build failed (from ./node_modules/babel-loader/lib/index.js) 错误问题解决方案...
- 新手小白用iMindMap怎么画思维导图
- 浪潮财务软件SQL SERVER数据库数据删除恢复成功
- iyiw oracle_oracle详解