在 [Java] 將字元轉成數字 一文中,海芋曾經介紹過如何將字元轉換成數字,然而,今天在此要教的是如何把字串轉為數字。

或許您不知道,String是一個類別,所以當您宣告字串的時侯,同時也建立了一個類別變數。而在Interger類別底下,有一個parseInt的方法,可以讓您輕鬆地字串轉為整數。

public static int parseInt(String s,int radix);
public static int parseInt(String s);

其中radix代表的是基數。

而這要怎麼用呢?其實用法非常簡單,在這裡舉兩個例子來說明。

例子1:

String input = "10";
int afterConvert = Integer.parseInt(input);

 

在例子1中,我們並沒有使用到 radix 的引數,所以 Java 將輸入的字串視為 10 進位,也因此 afterConvert 的答案為10。

例子2:

String input = "10";
int afterConvert = Integer.parseInt(input,2);

而這是 radix 為 2,也就是雖然我們數字是 10,但 Java 會將他視為二進位的 10,所以 afterConvert 的答案為 2。

不過由於使用者輸入的可能會不是「數字字串」,所以建議要用「throws NumberFormatException」喔,故通常會寫成類似下面的使用方式,來防止錯誤來產生!

int afterConvert = 0;
try{
   String input = "10";
   afterConvert = Integer.parseInt(input,2);
}catch(NumberFormatException e){
   afterConvert = 0;
}

 

有些使用者會想將字串轉成浮點數,在 Double 類別中,也可以使用下列函式:

public static double parseDouble(String s) throws NumberFormatException

 

同樣,可以用以下的範例來將字串轉為浮點數

double afterConvert = 0;
try{
   String input = "10";
   afterConvert = Double.parseDouble(input);
}catch(NumberFormatException e){
   afterConvert = 0;
}

 

而以上是將字串轉為比較常用的「整數」和「浮點數」,如果你有其它需求,也可以參考「Byte」、「Long」、「Float」等 Class,都有類似對應的函式。

Written by 

小小的宅宅電腦工程師,從小就是吃草族,用鍵盤寫下我在電腦上的足跡,用照片記錄下我的生活日常,用文字與大家交朋友~

發表迴響