將字母轉換爲列號

題目:在Excel2003中,用A表示第1列,B表示第2列......Z表示第26列,AA表示第27列,AB表示第28列......以此類推。請寫出一個函數,輸入用字母表示的列號編碼,輸出它是第幾列。


思路:A-Z看作26進制數,就是把26進制數轉換爲十進制。


java實現:

public static int litterToListNumber(String str) {
		char[] strArr=str.toCharArray(); //將字符串轉換爲字符數組,但是字符串最高位在數組最低位
		int length=strArr.length; //字符數組長度
		if(length<=0) return 0;
		int sum=0;
		int exp=0;//記錄次方數
		for(int i=length-1;i>=0;i--) {
			int num=strArr[i]-'A'+1; //當前i位置字母代表的數字
			sum+=num*(int)(Math.pow(26,exp));
			exp++;
		}
		return sum;
	}


發佈了34 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章