本篇文章為大家展示了java用正則表達式判斷數據是否是數字的方法,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
可以利用正則表達式來“-?[0-9]+(\\.[0-9]+)?”來做判斷字符串是否為數字。
如果傳入的數據有很多位,那么使用double會導致精度丟失,這個時候就要用BigDecimal來進行轉換。
實例:
public class CheckStrIsNum {
public static void main(String[] args) {
double aa = -192322.1212;
String a = "-192322.1212";
String b = "-192322a1212";
String c = "Java";
String d = "5";
/** 判斷是否全為數字 */
System.out.println(checkStrIsNum02(Double.toString(aa)));
System.out.println(checkStrIsNum02(a));
System.out.println(checkStrIsNum02(b));
System.out.println(checkStrIsNum02(c));
System.out.println(checkStrIsNum02(d));
}
private static Pattern NUMBER_PATTERN = Pattern.compile("-?[0-9]+(\\.[0-9]+)?");
/**
* 利用正則表達式來判斷字符串是否為數字
*/
public static boolean checkStrIsNum02(String str) {
String bigStr;
try {
/** 先將str轉成BigDecimal,然后在轉成String */
bigStr = new BigDecimal(str).toString();
} catch (Exception e) {
/** 如果轉換數字失敗,說明該str并非全部為數字 */
return false;
}
Matcher isNum = NUMBER_PATTERN.matcher(str);
if (!isNum.matches()) {
return false;
}
return true;
}
}上述內容就是java用正則表達式判斷數據是否是數字的方法,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。