정수를 HTML의 정렬 된 목록과 같은 알파벳순으로 변환하고 싶습니다.기본 10 숫자를 HTML의 정렬 된 목록처럼 알파벳순으로 변환하는 방법
<ol type="a">
베이스 10을베이스 번호 26으로 변환하려고했습니다.
하지만 그건 내가 원하는 것이 아닙니다.
IN WANT GET
-----------------------
1 => a <= a
2 => b <= b
3 => c <= c
4 => d <= d
5 => e <= e
6 => f <= f
7 => g <= g
8 => h <= h
9 => i <= i
10 => j <= j
11 => k <= k
12 => l <= l
13 => m <= m
14 => n <= n
15 => o <= o
16 => p <= p
17 => q <= q
18 => r <= r
19 => s <= s
20 => t <= t
21 => u <= u
22 => v <= v
23 => w <= w
24 => x <= x
25 => y <= y
26 => z <= az
27 => aa <= aa
28 => ab <= ab
29 => ac <= ac
private final static char[] digits = {
'0' , 'a' , 'b' , 'c' , 'd' , 'e' , 'f' ,
'g' , 'h' , 'i' , 'j' , 'k' , 'l' ,
'm' , 'n' , 'o' , 'p' , 'q' , 'r' ,
's' , 't' , 'u' , 'v' , 'w' , 'x' , 'y' , 'z'
};
private static String numberToAlphaNumeric(long i, int radix) {
char[] buf = new char[65];
int charPos = 64;
boolean negative = (i < 0);
if (!negative) {
i = -i;
}
while (i <= -radix) {
buf[charPos--] = digits[(int)(-(i % radix))];
i = i/radix;
}
buf[charPos] = digits[(int)(-i)];
if (negative) {
buf[--charPos] = '-';
}
return new String(buf, charPos, (65 - charPos));
}
public static String numberToAlphaNumeric(long number) {
ArrayList<String> list = new ArrayList<String>();
for(int j = 0; list.size() != number; j++) {
String alpha = numberToAlphaNumeric(j, digits.length);
if(!alpha.contains("0")) {
list.add(alpha);
}
}
return list.get(list.size()-1);
}
내 두번째 아이디어 :
나는 자리에 새 선도 기호를 확장하고베이스 (27) 수에 내 번호를 변환하면 수행, 나는 모든의 새로운 기호가 이상은 잘못된 것이고 나는 이것을 필터링 할 수 있습니다.
이것은 매우 비효율적이며 추악하지만 더 이상 아이디어가 없습니다. 일반적인 방법은 무엇입니까?
당신은 원하지 않는 결과를 보여 주었다 - 단지 지금까지 내가 말할 수있는, 26 일에 실패를 -하지만 코드가 ... –
0이 매핑되었으므로 'a' – perilbrain
목록 스타일을 사용하여 테스트했습니다 : lower-alpha 및 26은 ** az **가 아닌 ** ** ** **이어야합니다. . –