10进制任意转换2~36进制!
没注释没解释,直接上代码!
public static void foo(int v, int a) {
if (a > 36 || a < 2) {
System.out.println("超范围了!");
return;
}
StringBuilder outcome = new StringBuilder();
String g = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
final char[] chars = g.toCharArray();
while (true) {
int m = v % a;
v = v / a;
if (a > 10 && m >= 10) {
outcome.insert(0, chars[m > 10 ? m - 10 : m]);
} else {
outcome.insert(0, m);
}
if (v < a) {
outcome.insert(0, v);
break;
}
}
System.out.println(outcome);
}