2017-04-01 90 views
-5

我有一個字符串,我知道只包含一個數字。如何檢查字符串是float還是int?

我想檢查這個數字是int還是float。

+0

任何企圖從你身邊? –

+0

歡迎來到Stack Overflow!我們是一個問答網站,而不是一個打碼人員的服務。請將您的問題縮小到針對本網站主題的特定編碼問題。請參閱:[爲什麼「有人可以幫助我?」不是一個實際的問題?](http://meta.stackoverflow.com/q/284236)和[當我不確定我在找什麼時問一個好問題?](https:// meta。 stackoverflow.com/questions/262527/how-to-ask-a-good-question-when-im-not-sure-what-im-looking-for) –

+0

我不知道這是如何標記爲重複的主題完全不同,很顯然OP要檢查一個字符串是float還是int?**「88a」不是int不float **而不是** 312/100 = 3.12的結果是int或float ** –

回答

4

有許多辦法來解決你的問題,例如,你可以使用try{}catch(){}

解決方案1 ​​

public static void main(String[] args) { 
    String str = "5588"; 
    //check if int 
    try{ 
     Integer.parseInt(str); 
    }catch(NumberFormatException e){ 
     //not int 
    } 
    //check if float 
    try{ 
     Float.parseFloat(str); 
    }catch(NumberFormatException e){ 
     //not float 
    } 
} 

解決方案2

或者你可以使用正則表達式\d*\.?\d*

boolean correct = str.matches("\\d*\\.?\\d*"); 
相關問題