在Java中,若要要將數字字元,即0~9轉成整數型態,若用強制型別轉換,因為數字字元的ascii碼是從48開始,所以會產生錯誤。
而我們要解決這個困難,則有兩種方法可以實做,一種是靠JAVA的Character類別所提供的方法,另一種則是靠我們手動寫程式。
先說手動寫程式法吧,我們只要寫下面的程式碼就可以了
int num = '數字字元'- '0';
其中數字字元表示 0~9。
而第二種方法則是使用Character類別中的getNumericValue方法,用法如下:
public static int getNumericValue(char ch);
public static int getNumericValue(int codePoint)
其中ch為要轉換的字元。
所以,如果我們要將字元轉換成數字,則可以使用下列方法:
Character.getNumericValue(ch)
其中,ch可接受的範圍為0~9、A~Z、a~z。
而您一定會很好奇的是,字元輸入的是A、B…等英文字母,那會轉成什麼呢?答案是若是英文單字A,則會轉成10,Z則會轉成35,而英文字母是不分大小寫的。
另外,你也可以用codePoint,即ascii碼來轉,以下為他的範例:
Character.getNumericValue(codepoint)
其中codepoint為整數,可接受的範圍為「48~57」,「48對應到0」,「49對應到1」等,以此類推,「57會對應到9」。
而這僅僅適用於字元轉成數字,但不適用於字串轉成數字喔!
謝謝~尋找到了我要的資料!
Character.getNumericValue()