前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JavaScript 里Number、parseFloat、parseInt的联系与区别

JavaScript 里Number、parseFloat、parseInt的联系与区别

作者头像
celineWong7
发布2020-11-05 18:51:19
发布2020-11-05 18:51:19
2.5K00
代码可运行
举报
文章被收录于专栏:web前端踩坑web前端踩坑
运行总次数:0
代码可运行

在JavaScript中,有三个方法可以把非数值转换成数值类型:Number()parseInt()parseFloat()Number():可以用于任何数据类型; parseInt() / parseFloat():主要针对把字符串转换成数值。 他们有相通之处,但也有不同之处。此处做一个整理,方便查阅。

首先献祭出一个例子图,便于快速区别三个方法:

例子图

Number() 的转换规则

数据类型

规则

Boolean

true和false将分别被转换为1和0

Number

直接的传入返回

Null

返回0

Undefined

返回NaN

String

遵循下列规则: 1. 只包含数字,将其转换为十进制数值: “1” -> 1,“123” ->123,“011” -> 11(忽略前导零);2. 只包含有效的浮点格式,将其转换为对应浮点数值: “1.1” -> 1.1,“03.14” ->3.14,“1.22.33” -> NaN; 3. 只包含有效的十六进制格式,将其转换为相同大小的十进制整数值:“0xf” -> 15; 4. 空字符串(不包含任何字符或包含空格等空字符),则将其转换为0:“” -> 0,“ ” -> 0; 5. 除以上提及格式的字符,则将其转换为NaN:“99 88” -> NaN,“99abc” -> NaN;

Object

代码测试时NaN,理论上还得查阅一番资料233

parseInt() / parseFloat() 的转换规则

因为Number()方法转换字符串的时候比较复杂,所以一般处理字符串比较常用的是parseInt() / parseFloat()

parseInt() 的转换规则是: 逐个解析字符串的字符,忽略前面空格,找到第一个非空格字符;若第一个字符不是数字字符或者负号,返回NaN;若第一个字符是数组字符,就继续解析第二个字符,直到解析完所有后续字符串或者遇到了一个非数字字符。

parseFloat()的转换规则和parseInt() 类似,区别在于parseFloat()能识别第一次出现的小数点。

parseInt() 方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。

(注意parseFloat()没有基模式)。

代码语言:javascript
代码运行次数:0
运行
复制
var num2 = parseInt("AF");       //NaN  
var num1 = parseInt("AF",16);     //175  (按照十六进制解析)  
var num3 = parseInt("10",2);      //2  (按照二进制解析)  
var num4 = parseInt("sdasdad");    //NaN 

以上。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Number() 的转换规则
  • parseInt() / parseFloat() 的转换规则
    • parseInt() 方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档