2013-01-23 40 views
-1

我有一個需要很長的值的文本字段,如果它需要字符,那麼它應該顯示一條錯誤消息。有沒有像isNAN()這樣的方法來檢查變量是否包含任何字符?檢查一個長類型是否包含字符

+4

[你嘗試過什麼?](http://whathaveyoutried.com)有很多種可能的解決方案。 – jlordo

+2

[限制JTextField輸入到整數]可能的重複(http://stackoverflow.com/questions/11093326/restricting-jtextfield-input-to-integers) – assylias

+0

我嘗試使用try/catch。但有沒有像isNAN()檢查變量是否爲數字的方法 – justified

回答

1

如果字符串不包含可分析的長整型,則靜態方法Long.parseLong()將拋出NumberFormatException

+1

甚至更​​好,防止用戶輸入帶過濾器的非數字字符。 – assylias

+1

@justified ..然後捕獲異常,並從那裏的屬性文件中打印消息。 –

1

你通常可以通過嘗試做Long.parseLong(textfield.getText())trycatch塊,你會趕上NumberFormatException包裹做到這一點。

如果發現異常,則表示用戶未輸入有效的long值。

1

long x = Long.parseLong(「12345L」);

你應該儘量抓住上面的語句,因爲它可以拋出NumberFormatException的

1

你可以有一個小工具,方法是這樣的:

private boolean isLong(String str){ 
    try{ 
     Long.parseLong(str); 
    } 
    catch(NumberFormatException nfe){ 
     return false; 
    } 
    return true; 
} 
0

正如其他解決方案的替代方案,您可以使用正則表達式

boolean containsCharacters = !txt.matches("-?\\d+"); 
相關問題