介绍:

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进制数被解析出 十进制整数。

  1. 如果传入 参数首位和末位是空格会被忽略。
  2. 如果传入 Array 会对角标为0的元素进行解析 返回 解析的结果。
  3. 如果 radix 小于2大于36 返回 NaN。
  4. 如果 radix 是 undefined、0 或未指定的情况。
    1. 如果输入的string 以 0x 或 0X(一个 0,后面是小写或大写的 X)开头,那么 radix 被假定为 16,字符串的其余部分被当做十六进制数去解析。
    2. 如果输入的string 以 "0"(0)开头,radix 被假定为 8(八进制)或 10(十进制)。具体选择哪一个 radix 取决于实现。ECMAScript 5 澄清了应该使用 10 (十进制),但不是所有的浏览器都支持。
    3. 如果输入的 string 以1 ~ 9开头,radix 是 10 (十进制)。

parseFloat(string)

  1. 如果传入 包含 正号(+)、负号(-)、数字(0-9)、小数点(.)、或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,并返回已经 解析的部分。
  2. 如果传入 包含了第二个小数点的出现也会使解析停止。
  3. 如果传入 参数首位和末位是空格会被忽略。
  4. 如果传入 参数字符串的第一个字符不能被解析成为数字,则返回 NaN。
  5. 如果传入 Array 会对角标为0的元素进行解析 返回 解析的结果。

Number(object)

  1. 如果传入 Boolean 为 true 时 返回 1、Boolean 为 false 时 返回 0。
  2. 如果传入 undefined 返回 NaN。
  3. 如果传入 null 返回 0。
  4. 如果传入 Date 返回 毫秒数。
  5. 如果传入 Array
    1. 数组长度为1时,会对角标为0的元素进行转换为数字 ,并返回结果。
    2. 如果长度大于1时,返回 NaN。
  6. 如果传入 正常的数值 返回 传入的数值。
  7. 如果传入 对象的值无法转换为数字 返回 NaN
  8. 如果传入 字符串
    1. 如果传入 空字符串 返回 0。
    2. 如果传入 字符串中包含有效的十六进制格式,例如"0xf",则将其他转换为相同大小的十进制整数值。
    3. 如果是字符串中只包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即“1”变成1,“123”会变成123,而“011”会变成11(前导的零被忽略了)。
    4. 如果字符串中包含有效的浮点格式,如“1.1”,则将其转换为对应的浮点数值(同样也会忽略前导零)。
    5. 如果字符串中包含除上述格式之外的字符,则将其他转 返回 NaN

如果帮助到你,不要吝啬你的小手,来个四连 点赞收藏+关注评论吧!

JS parseInt() 、parseFloat()、Number()相关推荐

  1. js中字符串类型转化toString、parseInt、parseFloat、Number

    全栈工程师开发手册 (作者:栾鹏) js系列教程3-字符串.正则表达式全解 js中字符串类型转化 其他类型转化为字符串: 代码如下: var num= 19; // 19 var myStr = nu ...

  2. parseInt() 、 parseFloat() 和Number()的区别

    字符串转换数字的方式 一.parseInt 二.parseFloat 三.Number 四.parseInt() 和parseFloat()的区别 一.parseInt parseInt()函数在转换 ...

  3. parseInt,parseFloat,Number的区别

    Number:如果是Boolean值,true和false值将分别被转换为1和0.如果是数字值,只是简单的传入和返回.如果是null值,返回0.如果是undefined,返回NaN.如果是字符串:a. ...

  4. Go语言常用标准库——log、net_http、strconv、time包

    文章目录 log 使用Logger 配置logger 标准logger的配置 flag选项 配置日志前缀 配置日志输出位置 创建logger 总结 net_http net/http介绍 HTTP协议 ...

  5. Go开发 之 基础语法(数据类型、类型转换、运算符的优先级)

    文章目录 1.数据类型 1.1.数值类型 1.1.1.整型(整数类型) 1.1.2.浮点型(小数类型) 1.1.3.复数 1.2.bool类型(布尔类型) 1.3.字符串类型 1.3.1.定义字符串 ...

  6. js函数 Number()、parseInt()、parseFloat()的区别:

    Number().parseInt().parseFloat()的区别: Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是 ...

  7. JS转换为数字的方法Number()、parseInt()和 parseFloat()

    Number().parseInt()和 parseFloat() 第一个函数, 即转型函数 Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值.这 3 个 函数对于同样的 ...

  8. Number()、parseInt()和parseFloat()的区别

    JS中Number().parseInt()和parseFloat()的区别 三者的作用:  Number(): 可以用于任何数据类型转换成数值: parseInt(): 函数可解析一个字符串,并返回 ...

  9. Number、parseInt和parseFloat的区别

    1.Number() 可以把任何类型的数据转换为数值或NaN(not a number),parseInt()和parseFloat()只能把字符串或数值转换为数值: 2.Number()和parse ...

最新文章

  1. 短序列拼接软件velvet简介
  2. vimrc 配置 史上最牛
  3. GRUB基本使用介绍
  4. 天眼FAST如何发现脉冲星?
  5. 自定义LeNet5,开启你的炼丹之路
  6. spark python 上传代码包_使用 Livy Rest API 提交 spark 批量任务 (jar,Python, streaming)...
  7. c++中BOOL和bool的区别
  8. .gitignore文件_Java小白入门,Git忽略文件.gitignore详解
  9. 加密算法(二)——MD5,Base64,DES,RSA加密算法解析
  10. visio 2003密钥
  11. 十分钟读完《金字塔原理》
  12. 首都师范 博弈论 5 4 4 多人合作博弈问题 Shapley计算之财产分配问题
  13. 【重要】股票收益互换
  14. C语言表白流星(末尾附加下载地址)
  15. 企业外贸出口业务流程图 进出口贸易流程细节
  16. 我是如何把一套GitLab CI/CD课程做到全网第一的?
  17. vuex刷新state数据丢失问题
  18. 微信识别图片文字直接导出Word方法
  19. printf \a 响铃的流程(你想知道的C语言 1.9)
  20. 没有植入的内容就是TM在逗我

热门文章

  1. day01-docker安装mysql5.7
  2. 北京理工大学计算机学院王涌天,五分钟光学| 北京理工大学王涌天教授谈混合现实技术...
  3. 深度估计软件DERS6.1使用方法
  4. 快速学习COSMIC方法之十一:如何识别输入?
  5. LeCun、吴恩达等4位大佬解析2019人工智能
  6. wordpress搜索ajax,wordpress ajax搜索提示
  7. webpack 命令 Module build failed (from ./node_modules/babel-loader/lib/index.js) 错误问题解决方案...
  8. 新手小白用iMindMap怎么画思维导图
  9. 浪潮财务软件SQL SERVER数据库数据删除恢复成功
  10. iyiw oracle_oracle详解