Javascript

JS之进制转换(十进制转8,12,36进制)

本文主要是介绍JS之进制转换(十进制转8,12,36进制),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.toString() 方法 :把数字转化成字符串

number.toString(radix

radix:可选。规定表示数字的基数,是 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。

  • 2 - 数字以二进制值显示
  • 8 - 数字以八进制值显示
  • 16 - 数字以十六进制值显示

例子: 

var num = 15;
var a = num.toString();
var b = num.toString(2);
var c = num.toString(8);
var d = num.toString(16);
console.log('这是十进制的15转换的2进制' + b)
console.log('这是十进制的15转换的8进制' + c)
console.log('这是十进制的15转换的16进制' + d)

  

2.32进制转换

思路: 把需要转换的数进行 36的除法运算,余数不断除36,出来的数进行字符串的拼接

那我们开始实现:

function getNums36() {
            var nums36 = [];
            for (var i = 0; i < 36; i++) {
                if (i >= 0 && i <= 9) {
                  // 数字属于1 -9 取值
                    nums36.push(i);
                } else {
                   // 如果不是1到9,从字母中取 :String.fromCharCode(i + 87) 
                    nums36.push(String.fromCharCode(i + 87));
                }
            }
            return nums36;
        }

        //十进制数转成36进制
        function scale36(n){
            var arr = [];
            var nums36 = getNums36();
            while(n){
                var res = n % 36;
                //作为下标,对应的36进制数,转换成
                arr.unshift(nums36[res]);
                //去掉个位
                n = parseInt(n / 36);
            }
            return arr.join("");
        }    

  

 

这篇关于JS之进制转换(十进制转8,12,36进制)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!