parseInt(string,radix)方法是将输入字符串转化为数值,两个输入参数中string为要转化的字符串,radix可省略,是浏览器以几进制来解读输入的string。

举几个例子就能够对该方法有基本的了解了,如下:

parseInt("123"); //123

parseInt("123ab123"); //输出123  因为出现字母所以该字母及之后的字符都不被解析

若输入字符串首位是0或者0x之外的数字,则在radix缺省的情况下,默认解读为10进制。

0X默认解读为16进制

parseInt("0x10"); //字符串以0x开头则将之后的数字按16进制解读,16进制的10也就是十进制的16, 因此输出为16

parseInt("0xa"); //10,要注意16进制包括0~9,a~f (也就是10~15),超出该范围的字符不被解读。

parseInt("0xg"); //NAN

这三个例子分别等价于 parseInt("0x10",16)  parseInt("0xa",16)  parseInt("0xg",16)

以0开头的默认解读为八进制,但是不同浏览器解读方式不同,

parseInt("011"); //chrome下输出为11也就是会忽略首位的0,将011当成10进制解读,别的浏览器未测试--

parseInt("011",8); //此时会输出正确的9

因为这个坑,所以建议需要以八进制解读时,带上第二参数radix并设置为8,以免出问题

parseInt("09",8); //八进制取值范围为0~7,不包括9,因此9不能被解读,这时相当于parseInt("0",8);输出0

最后有一个特殊情况:

parseInt("0.000000434"); //4

parseInt("0.00000434"); //0

造成这种情况的原因可能是因为:

document.write(0.000000434+"<br/>"); //4.34e-7
document.write(0.00000434+"<br/>");//0.00000434

当小数点后有6个或者以上的0时,会以科学记数法存储,所以--。

部分内容参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

最新文章

  1. Android Studio导入项目遇到的问题
  2. Python 元组
  3. css-文字和图片在容器内垂直居中实测。方法来源张鑫旭博客。
  4. Visual Studio插件
  5. UITableView常见 UI 问题总结
  6. tracer
  7. Nginx目录别名(Alias)支持PHP的配置
  8. tar解压去除文件夹
  9. 1 weekend110的复习 + hadoop中的序列化机制 + 流量求和mr程序开发
  10. Android4大组件
  11. Android getTopActivity的方法
  12. Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发
  13. Saiku嵌入系统使用时传参数访问saiku(十六)
  14. 全国人口 信息(NCIIC)接口开发纪要
  15. $O(n+log(mod))$求乘法逆元的方法
  16. [3] 注解(Annotation)-- 深入理解Java:注解(Annotation)--注解处理器
  17. Java03-Java语法基础(二)运算符
  18. ss is one another utility to investigate sockets(特适合大规模tcp链接)
  19. mongodb带认证的副本集搭建
  20. Nginx搭建flv mp4流媒体服务器[转]

热门文章

  1. Prisma GraphQL 服务器 生产者 &quot;https://www.prisma.io&quot;
  2. HTTP协议12-HTTPS
  3. Linux下安装VMware Tools(使虚拟机支持文件拖拽)
  4. 【原创】大数据基础之HDFS(2)HDFS副本数量检查及复制逻辑
  5. 二维前缀和好题hdu6514
  6. 如何连接LINUX服务器
  7. 【winform】userControl刷新父窗体的datagridview
  8. 从Github上将laravel项目拉到新开发环境
  9. 分布式文档存储数据库 MongoDB
  10. 最近公共祖先(LCA)的三种求解方法