判断输入的是否为数字 java_java中判断字符串是否为数字的方法的几种方法
发布日期:2021-06-24 14:54:18 浏览次数:2 分类:技术文章

本文共 1434 字,大约阅读时间需要 4 分钟。

Java中判断字符串是否为数字的方法:

1.用JAVA自带的函数

public static boolean isNumeric(String str){

for (int i = 0; i < str.length(); i++){

System.out.println(str.charAt(i));

if (!Character.isDigit(str.charAt(i))){

return false;

}

}

return true;

}

2.用正则表达式

首先要import java.util.regex.Pattern 和 java.util.regex.Matcher

public boolean isNumeric(String str){

Pattern pattern = Pattern.compile("[0-9]*");

Matcher isNum = pattern.matcher(str);

if( !isNum.matches() ){

return false;

}

return true;

}

3.使用org.apache.commons.lang

org.apache.commons.lang.StringUtils;

boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");

http://jakarta.apache.org/commons/lang/api-release/index.html下面的解释:

isNumeric

public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.

null will return false. An empty String ("") will return true.

StringUtils.isNumeric(null) = false

StringUtils.isNumeric("") = true

StringUtils.isNumeric(" ") = false

StringUtils.isNumeric("123") = true

StringUtils.isNumeric("12 3") = false

StringUtils.isNumeric("ab2c") = false

StringUtils.isNumeric("12-3") = false

StringUtils.isNumeric("12.3") = false

Parameters:

str - the String to check, may be null

Returns:

true if only contains digits, and is non-null

上面三种方式中,第二种方式比较灵活。

第一、三种方式只能校验不含负号“-”的数字,即输入一个负数-199,输出结果将是false;

而第二方式则可以通过修改正则表达式实现校验负数,将正则表达式修改为“^-?[0-9]+”即可,修改为“-?[0-9]+.?[0-9]+”即可匹配所有数字。

转载地址:https://blog.csdn.net/weixin_33478634/article/details/114182062 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java中垃圾收集_Java垃圾收集中的回收算法有哪些?
下一篇:java定义矩形类_Java定义矩形类

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月02日 17时34分55秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章