File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ * @Author : Rainy [https://github.com/rain120]
3
+ * @Date : 2022-01-24 12:12:01
4
+ * @LastEditors : Rainy
5
+ * @LastEditTime : 2022-01-24 12:18:06
6
+ */
7
+
8
+ const getNRadix = ( n : number ) => {
9
+ const radixList = [ ] ;
10
+
11
+ for ( let i = 0 ; i < n ; i ++ ) {
12
+ if ( i < 10 ) {
13
+ radixList . push ( i ) ;
14
+ } else {
15
+ // A 65 Z 90, a 97 z 122
16
+ // i = 10+ => i + (65 - 10)
17
+ // i = 36+ => i + 62
18
+ const A = 65 ;
19
+ const Z = 90 ;
20
+ const a = 97
21
+ const code = i + ( A - 10 ) < Z ? ( i + ( A - 10 ) ) : i + ( a - ( Z - 55 ) ) ;
22
+ radixList . push ( String . fromCharCode ( code ) ) ;
23
+ }
24
+ }
25
+
26
+ return radixList ;
27
+ }
28
+
29
+ function getRadixValue ( value : number , radix = 10 ) {
30
+ if ( radix < 1 ) {
31
+ throw new TypeError ( `Invalid with ${ radix } ` ) ;
32
+ }
33
+
34
+ const res = [ ] ;
35
+ const radixList = getNRadix ( radix ) ;
36
+
37
+ while ( value ) {
38
+ const v = value % radix ;
39
+
40
+ res . unshift ( radixList [ v ] ) ;
41
+
42
+ // @ts -ignore
43
+ value = parseInt ( value / radix ) ;
44
+ }
45
+
46
+ return res . join ( '' ) ;
47
+ }
You can’t perform that action at this time.
0 commit comments