• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 機(jī)構(gòu)新聞 > java語言中如何判斷字符串是否為數(shù)字
機(jī)構(gòu)主頁 > 機(jī)構(gòu)新聞>java語言中如何判斷字符串是否為數(shù)字

java語言中如何判斷字符串是否為數(shù)字

來源:北京達(dá)內(nèi)教育        時間:2023-05-26        熱度:27℃        返回列表

【實例描述】

軟件運(yùn)行過程中,經(jīng)常需要用戶輸入數(shù)值、貨幣值等信息,然后進(jìn)行處理。由于用戶輸入

只能是字符串類型,如果輸入了非法的信息,如在貨幣值中輸入了字母“a”以及其他非數(shù)字

字符,那么在運(yùn)行時會拋出異常。通常我們可以通過捕獲異常來判斷輸入信息是否合法,但這

并不是最好的處理方法。本實例將采用NumberUtils

類中的方法處理此問題,讓程序更加快捷

方便。實例的運(yùn)行效果如圖4.11 所示。

【實現(xiàn)過程】

在Eclipse 中新建項目CheckNumber,并在其中創(chuàng)建一個CheckNumber.java

文件。在該類

的主方法中創(chuàng)建標(biāo)準(zhǔn)輸入流的掃描器對象,接收用戶輸入的金額。程序?qū)ζ涫欠駷閿?shù)字進(jìn)行

判斷并輸出提示結(jié)果。核心代碼如下所示:

protected

void do_button_actionPerformed(ActionEvent e) {

String text =

textField.getText(); // 獲取用戶輸入的金額字符串

boolean isnum =

NumberUtils.isNumber(text); // 判斷是不是數(shù)字

if (isnum) { //

輸出正確提示信息

showMessageDialog(null, "輸入正確,是數(shù)字格式");

} else { //

輸出錯誤提示信息

showMessageDialog(null,

"輸入錯誤,請確認(rèn)格式再輸入");

}

}

【代碼解析】

本實例采用了Apache 提供的lang 包中的NumberUtils

類來實現(xiàn)數(shù)字判斷,該類的全路徑

為“org.apache.commom.lang.math.NumberUtils”,這個類中的isNumber()方法可以接收字符串

參數(shù),然后對字符串進(jìn)行解析,如果字符串不能轉(zhuǎn)換為數(shù)字格式,則返回false。其聲明語法如

下所示:

public

static boolean isNumber(String str);

【知識擴(kuò)展】

本實例還可以通過Double

類的parseDouble()方法把字符串轉(zhuǎn)換為double

類型。如果拋出

異常說明字符串不是合法數(shù)字格式。但是建議不要使用這種方式做判斷,那會降低系統(tǒng)的運(yùn)行

速度。因為它無法與簡單邏輯判斷相比,后者在速度上完全超越前者。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部