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 36at Number.toString (<anonymous>)at <anonymous>:1:5
(anonymous) @ VM442:1
*/
(2).toString(2.1) //"10"
(2).toString(2.9) // "10"
返回值
numberObject.toString()函數的返回值為String類型,返回該數字指定進制形式的字符串。