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

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

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

【實(shí)例描述】

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

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

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

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

類中的方法處理此問(wèn)題,讓程序更加快捷

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

【實(shí)現(xiàn)過(guò)程】

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

文件。在該類

的主方法中創(chuàng)建標(biāo)準(zhǔn)輸入流的掃描器對(duì)象,接收用戶輸入的金額。程序?qū)?duì)其是否為數(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 { //

輸出錯(cuò)誤提示信息

showMessageDialog(null,

"輸入錯(cuò)誤,請(qǐng)確認(rèn)格式再輸入");

}

}

【代碼解析】

本實(shí)例采用了Apache 提供的lang 包中的NumberUtils

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

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

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

下所示:

public

static boolean isNumber(String str);

【知識(shí)擴(kuò)展】

本實(shí)例還可以通過(guò)Double

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

類型。如果拋出

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

速度。因?yàn)樗鼰o(wú)法與簡(jiǎn)單邏輯判斷相比,后者在速度上完全超越前者。

電話咨詢

電話咨詢

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

回到頂部