[Java] 將字元轉成數字

在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」。

而這僅僅適用於字元轉成數字,但不適用於字串轉成數字喔!

如果你喜愛這篇文章, 請考慮 留言回應 或者 訂閱 RSS feed 以獲得更多的文章更新資訊。若有商業上的需求,也歡迎透過 合作提案 與我聯絡。本站文章非經授權請勿「全文轉貼」,引用時請註明來源,謝謝。

About 張海芋

城市中的迷途小羔羊,在迷惘的十字路口停下腳步,才發現最愛的竟是分享,用文字灌溉《海芋小站》,用專業解決問題。

發表迴響