zoukankan      html  css  js  c++  java
  • 浅谈js的数字格式

    除了正常我们常用的十进制(如5,8,12.123等),js还可以直接表示2、8、16进制

    1.二进制

    二进制是以0b开头

    0b10; //2

    2.八进制

    八进制是以0开头

    010; //8

    3.十六进制

    十六进制是以0x开头

    0x10; //16

    可以看出js虽然是支持2、8、16进制,但是它最后得出结果的时候仍然把数字转为10进制,如果我们需要结果是2、8、16进制形式的话我们有一个方法:

    toString(radix) 把10进制数字解析成几进制

    var x = 255;
    x.toString('16'); //"ff"

    4.解析成其他进制

    上面都是10进制到其他进制的转化(实际大小不会变化),但如果想把数字解析为其他进制(把数字看成不同进制,实际大小会变化),如想把12解析成4进制,可以写成parseInt(12,4) ; //6 = 1*4+2

    parseInt

    parseInt(num,radix) 其中36>radix>2,radix是用几进制来解析这个数字(parseFloat没有这个功能)

    //80用16进制来解析当然就是128了
    parseInt(80,16); //128 = 8*16
    
    //改变解析进制数,只能选比该数字所有位都大的数
    //如80,只能选9以上,不然会解析不了而返回NaN
    parseInt(80,8); //NaN
    
    //注意大于10进制的进制数一定要用字符串来表示,不然会报错
    //如果用0x15这样形式,js会先将其转化为21,最后结果就不会是预期的结果了
    parseInt('ag',18); //196 = 10*18+16
  • 相关阅读:
    【原创】C#初级教程学习笔记004-流程控制
    【原创】C#初级教程学习笔记002-进入C#编程
    kettle迁移简单案例
    Pycharm切换Git分支
    pycharm新文件增加默认注释
    pytest-mark标签装饰器
    python生成requirements.txt
    Cyber GIS
    mybatis之foreach用法_(搬运)
    Python 十进制、二进制、八进制、十六进制的转化
  • 原文地址:https://www.cnblogs.com/amiezhang/p/7940067.html
Copyright © 2011-2022 走看看