java語言中如何判斷字符串是否為數字


【實例描述】
軟件運行過程中,經常需要用戶輸入數值、貨幣值等信息,然后進行處理。由於用戶輸入
只能是字符串類型,如果輸入了非法的信息,如在貨幣值中輸入了字母“a”以及其他非數字
字符,那么在運行時會拋出異常。通常我們可以通過捕獲異常來判斷輸入信息是否合法,但這
並不是最好的處理方法。本實例將采用NumberUtils 類中的方法處理此問題,讓程序更加快捷
方便。實例的運行效果如圖4.11 所示。

【實現過程】
在Eclipse 中新建項目CheckNumber,並在其中創建一個CheckNumber.java 文件。在該類
的主方法中創建標准輸入流的掃描器對象,接收用戶輸入的金額。程序將對其是否為數字進行
判斷並輸出提示結果。核心代碼如下所示:
protected void do_button_actionPerformed(ActionEvent e) {
String text = textField.getText(); // 獲取用戶輸入的金額字符串
boolean isnum = NumberUtils.isNumber(text); // 判斷是不是數字
if (isnum) { // 輸出正確提示信息
showMessageDialog(null, "輸入正確,是數字格式");
} else { // 輸出錯誤提示信息
showMessageDialog(null, "輸入錯誤,請確認格式再輸入");
}
}
【代碼解析】
本實例采用了Apache 提供的lang 包中的NumberUtils 類來實現數字判斷,該類的全路徑
為“org.apache.commom.lang.math.NumberUtils”,這個類中的isNumber()方法可以接收字符串
參數,然后對字符串進行解析,如果字符串不能轉換為數字格式,則返回false。其聲明語法如
下所示:
public static boolean isNumber(String str);
【知識擴展】
本實例還可以通過Double 類的parseDouble()方法把字符串轉換為double 類型。如果拋出
異常說明字符串不是合法數字格式。但是建議不要使用這種方式做判斷,那會降低系統的運行
速度。因為它無法與簡單邏輯判斷相比,后者在速度上完全超越前者。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM