JavaScript下的进制转换

JavaScript下的进制转换

//十进制转其他进制
var num = 99;
console.log('十进制: ', num);
console.log('八进制:', (num).toString(8))
console.log('十六进制:', (num).toString(16))
console.log('三十二进制:', (num).toString(32))

//其他转十进制
var x = '110';
console.log('二进制:110,其十进制为:', parseInt(x, 2));
console.log('八进制:110,其十进制为:', parseInt(x, 8));
console.log('十六进制:110,其十进制数为:', parseInt(x, 16));

//其他转其他
//先用parseInt转成十进制再用toString转到目标进制
/*
fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。
注意:该方法是 String 的静态方法,字符串中的每个字符都由单独的 Unicode 数字编码指定。使用语法: String.fromCharCode()。
*/
console.log(String.fromCharCode(parseInt(141, 8)))
console.log('十六进(FF)转二进制:', parseInt('FF', 16).toString(2));

/*
十进制:  99
八进制: 143
十六进制: 63
三十二进制: 33

二进制:110,其十进制为: 6
八进制:110,其十进制为: 72
十六进制:110,其十进制数为: 272
a
十六进(FF)转二进制: 11111111
*/

1. Number.toString()

Number.toString()函数返回表示该数字的指定进制形式的字符串。
函数属于Number对象,所有主流浏览器均支持该函数。

语法

numberObject.toString( [ radix ] )
参数 描述
radix 中等可选/Number类型指定的基数(进制数),默认为10

参数radix支持 [2, 36] 之间的整数。
例如:参数值为2,则表示二进制;为8,则表示八进制;为16,则表示十六进制。
-- 如果省略参数radix,则默认为10(十进制)。
-- 对于不在 [2, 36] 之间的整数,小数部分会被直接丢掉,只保留整数部分

(2).toString(1.9)
/*
VM442:1 Uncaught RangeError: toString() radix argument must be between 2 and 36
    at Number.toString (<anonymous>)
    at <anonymous>:1:5
(anonymous) @ VM442:1
*/
(2).toString(2.1)    //"10"
(2).toString(2.9)    // "10"

返回值

numberObject.toString()函数的返回值为String类型,返回该数字指定进制形式的字符串。

原文地址:https://www.cnblogs.com/liushen/p/7095700.html