javascript實(shí)現(xiàn)36進(jìn)制轉(zhuǎn)換的方法:1、通過“Number.parseInt(string , radix)”轉(zhuǎn)換;2、通過“Number.toString(radix)”方法轉(zhuǎn)換。
本文操作環(huán)境:Windows7系統(tǒng)、javascript1.8.5版、DELL G3電腦
javascript怎么實(shí)現(xiàn)36進(jìn)制的轉(zhuǎn)換?
js任意進(jìn)制轉(zhuǎn)換(二進(jìn)制,八進(jìn)制,十進(jìn)制…三十六進(jìn)制)
進(jìn)制轉(zhuǎn)換只能發(fā)生在數(shù)字上,也就是Number類型,所以要進(jìn)行進(jìn)制轉(zhuǎn)換,那就是需要用到Number類型上的方法了,有兩種方法:
-
parseInt(string , radix)或者parseInt(string , radix),前者是全局的方法,是以前的規(guī)范,現(xiàn)在規(guī)范改了變成了Number下面的方法。
-
Number.toString(radix)
但是由于大部分語言只支持八進(jìn)制,十進(jìn)制和十六進(jìn)制的字面量數(shù)值,所以js在進(jìn)行轉(zhuǎn)換的時候,只能在字符串和數(shù)字類型之間轉(zhuǎn)換,即只能將其他進(jìn)制的字符串轉(zhuǎn)換為十進(jìn)制的數(shù)字,或者將十進(jìn)制的數(shù)字轉(zhuǎn)換為其他進(jìn)制的字符串。
var a = 0xa;//0x表示十六進(jìn)制,但是js會強(qiáng)制轉(zhuǎn)換為十進(jìn)制來運(yùn)算,0xa == 10 var b = 010;//0開頭表示八進(jìn)制,同樣強(qiáng)制轉(zhuǎn)換為十進(jìn)制來運(yùn)算 010 = 8 a*b //= 80
一、Number.parseInt(string , radix)
這個是把字符串(只能由字母和數(shù)字組成),這個只能是由低進(jìn)制轉(zhuǎn)高進(jìn)制,如二進(jìn)制轉(zhuǎn)八進(jìn)制,但是八進(jìn)制不能轉(zhuǎn)二進(jìn)制,radix表示進(jìn)制,取值2~36。
Number.parseInt('010',8)//8 Number.parseInt('20',2)//NaN
二、Number.toString(radix)
這個函數(shù)只能將十進(jìn)制數(shù)字轉(zhuǎn)換為任意進(jìn)制的字符串形式,同樣,radix表示進(jìn)制,取值2~36。
(10).toString(2)//"1010"轉(zhuǎn)2進(jìn)制 (10).toString(16)//"a" 轉(zhuǎn)16進(jìn)制 (1000).toString(36)//"rs" 轉(zhuǎn)36進(jìn)制
推薦學(xué)習(xí):《javascript視頻教程》