parseInt()具有以下特性

(1)parseInt()、parseFloat()会将传入的数据当作字符串来处理。也就是说,如果对非 String使用 parseInt()、parseFloat(),它会先将其转换为 String 然后再操作。【重要】

比如:

var a = 168.23;
console.log(parseInt(a)); //打印结果:168  (因为是先将 a 转为字符串"168.23",然后然后再操作)var b = true;
console.log(parseInt(b)); //打印结果:NaN (因为是先将 b 转为字符串"true",然后然后再操作)var c = null;
console.log(parseInt(c)); //打印结果:NaN  (因为是先将 c 转为字符串"null",然后然后再操作)var d = undefined;
console.log(parseInt(d)); //打印结果:NaN  (因为是先将 d 转为字符串"undefined",然后然后再操作)

(2)只保留字符串最开头的数字,后面的中文自动消失。例如:

console.log(parseInt('2017在公众号上写了6篇文章')); //打印结果:2017console.log(parseInt('2017.01在公众号上写了6篇文章')); //打印结果仍是:2017   (说明只会取整数)console.log(parseInt('aaa2017.01在公众号上写了6篇文章')); //打印结果:NaN (因为不是以数字开头)

(3)自动截断小数:取整,不四舍五入

例 1:

var a = parseInt(5.8) + parseInt(4.7);
console.log(a);

打印结果:

9

例 2:

var a = parseInt(5.8 + 4.7);
console.log(a);

打印结果:

10;

(4)带两个参数时,表示在转换时,包含了进制转换。

代码举例:

var a = '110';var num = parseInt(a, 16); // 【重要】将 a 当成 十六进制 来看待,转换成 十进制 的 numconsole.log(num);

打印结果:

272

如果你对打印结果感到震惊,请仔细看上面的代码注释。就是说,无论 parseInt() 里面的进制参数是多少,最终的转换结果是十进制。

我们来看下面的代码,打印结果继续震惊。

var a = '5';var num = parseInt(a, 2);// 将 a 当成 二进制 来看待,转换成 十进制 的 numconsole.log(num);// 打印结果:NaN。因为 二进制中没有 5 这个数,转换失败。

就拿Number(true)parseInt(true)/parseFloat(true)来举例,二者在使用时,是有区别的:

  • Number(true) :千方百计地想转换为数字;如果转换不了则返回 NaN。

  • parseInt(true)/parseFloat(true) :提取出最前面的数字部分;没提取出来,那就返回 NaN。

js Number parseInt()相关推荐

  1. 由parseInt 引发的问题---想到浮点运算精度丢失---看透js number 的 encoded

    如题 先陈述下问题背景 偶尔测测自己写的计算器,随便输入玩嘛,然后发生下面诡异的事情: 当我从一个 1 输入到十个 1 的时候,过程显示都是正确的,像这样: 继续输入一个 1 的时候,然后就这个样子了 ...

  2. javascript高级程序设计学习之数值转换 |Number(),parseInt(),parseFloat()

    2019独角兽企业重金招聘Python工程师标准>>> 将非数值转换成数值的函数有三个:Number(),parseInt(),parseFloat(); 小记tip:Number( ...

  3. 从ES规范和引擎细谈 js 中 parseInt 和 parseFloat 的执行机制

    从ES规范和引擎细谈 js 中 parseInt 和 parseFloat 的执行机制 parseInt()和parseFloat()这两个常用 API 其实还是有很多"坑"的,以 ...

  4. [js] Number()的存储空间是多大?假如接口返回一个超过最大字节的数字怎么办?

    [js] Number()的存储空间是多大?假如接口返回一个超过最大字节的数字怎么办? Number类型的最大值为2的53次方,即9007199254740992,如果超过这个值,比如90071992 ...

  5. 原来js的parseInt函数还可以这样用

    QQpc端登录账号还可以这样玩!!! 图片上来. wow,我惊呆了. 居然可以登录进出?! 都知道,登录会验证账号是整数,文本框输入的是字符串,会把字符串转成整数, 而刚好当前QQ的登录界面是由js+ ...

  6. JS Number对象常用函数(数字类型常用函数)

    Number 属性 属性 描述 Number.MAX_VALUE 最大值 Number.MIN_VALUE 最小值 Number.NaN 非数字 Number.NEGATIVE_INFINITY 负无 ...

  7. Number.parseInt(), Number.parseFloat()

    Number.parseInt(), Number.parseFloat() ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变. // E ...

  8. JavaScript(JS) Number.NaN

    Number对象表示数字日期,可以是整数也可以是浮点数.通常,不需要担心Number对象,因为浏览器会自动将Number字面量转换为Number类的实例.本文主要介绍JavaScript(JS) Nu ...

  9. JS Number类型的数值转换

    js有5种基本数据类型: undefined, Null, Boolean,Number, String(, Symbol).还有一种复杂类型数据: Object. Number() Number类型 ...

最新文章

  1. 深入理解Nginx工作原理
  2. python 基础篇(一)--linux命令篇
  3. javaone_JavaOne 2015 –提交技巧和建议
  4. Linux-C实现GPRS模块发送短信
  5. c++实验4—项目6输出星号图
  6. 四轮驱动(SSMR)移动机器人运动模型及应用分析
  7. Html5 の 微信飞机大战
  8. docker镜像下载的网站
  9. 热电厂sis系统服务器升中标结果,电厂SIS系统简介
  10. 用html制作粒子线条,html5 canvas跟随鼠标粒子线条动画特效
  11. C语言 字符‘0‘和‘\0‘ 以及整数0的区别
  12. photo的复数是photos
  13. Javascript实现图片轮播效果。
  14. 海外游戏广告投放渠道
  15. CVPR 2019 开源论文 | 针对未知目标领域的通用领域适配方法
  16. 判断矩形是否相交(包含,点相交,边相交)
  17. 基于深度学习的YOLO目标检测研究-附Matlab代码
  18. 草根站长故事之:我的业余站长之路(下)
  19. 详细讲解:打印菱形(随心所欲版)
  20. 演示:设置密码长度限制、密码加强

热门文章

  1. 基姆拉尔森计算公式:计算每个月1号是周几的公式
  2. vs2022取消自动导入using
  3. C# 串口操作系列(3) -- 协议篇,二进制协议数据解析
  4. 能耗在线系统在公共建筑的设计与应用
  5. c语言gets,getc,对比C语言中getc()函数和ungetc()函数的使用
  6. 云总机的未来-移动办公
  7. 计算机二级wsoffice考试范围,2021年wps office二级考试内容
  8. python插值程序_计算方法(2)——插值法(附Python程序)
  9. 全球首次实现8K超高清电视直播和5G网络下的8K电视播出
  10. 输血治疗病程记录范本(仅供参考)