public class Temp {
//数字转字母序列 -> 10进制转26进制
public static String numToLetters(int num) {
if (num <= 0) {
return "";
}
String result = "";
while (num > 0) {
num--;
result = ((char) (num % 26 + (int) 'A')) + result;
num /= 26;
}
return result;
}
//字母组合转数字 -> 26进制转10进制
public static int lettersToNum(String letters) {
int sum = 0;
int len = letters.length();
for (int i = 0; i < len; i++) {
int num = (int) ((letters.charAt(len - i - 1) - 'A' + 1) * Math.pow(26, i));
sum += num;
}
return sum;
}
public static void main(String[] args) {
System.out.println(numToLetters(12850896));
System.out.println(lettersToNum("ABCDEF"));
}
}
字母序列和数字转换
最新推荐文章于 2022-01-08 18:25:59 发布