指点成金-最美分享吧

登录

java 里怎么判断一个字符串是否纯数字

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了java 里怎么判断一个字符串是否纯数字相关的知识,希望对你有一定的参考价值。

public class AllNumber 
    /**
     * 使用Double.parseDouble方法判断字符串是不是为数字
     * 
     * @param number
     *            字符串
     * @return
     */
    public static boolean isNumber(String number) 
        if (null == number) 
            return false;
        
        try 
            double num = Double.parseDouble(number);// 转换成功则是数字
         catch (Exception e) 
            // TODO: handle exception
            return false;
        
        return true;
    

    /**
     * 使用正则表达式判断字符串是不是为数字
     * 
     * @param number
     *            字符串
     * @return
     */
    public static boolean isNumberByRegex(String number) 
        if (null == number) 
            return false;
        
        String regex = "^[-]0,1[0-9]1,[.]0,1[0-9]1,$";
        return number.matches(regex);
    

    public static void main(String[] args) 
        System.out.println(isNumber("1234.90"));

        System.out.println(isNumberByRegex("-0123.9"));
    

参考技术A 一个字符一个字符的判断
str.charAt(i) 取出来判断(0-9)本回答被提问者和网友采纳

Java中怎样判断一个字符串是不是是数字

用java的异常机制,不仅可以判断是否是数字,还可以判断整数或者小数:
public void checkInt(String bh)
try
int num = Integer.parseInt(bh);//将输入的内容转换成int
System.out.println("是整数:"+num);//是整数
catch (NumberFormatException e) //转换成int类型时失败
try
double d =Double.parseDouble(bh);//转成double类型
System.out.println("是小数:"+d);//是小数
catch (NumberFormatException e2) //转成double类型失败
System.out.println("不是数字");


参考技术A

使用Character.isDigit(char)判断,类型转换判断,正则表达式判断都是可以的,下面以正则判断为例。

代码如下:

Numeric(String str)

Pattern pattern = Pattern.compile("[0-9]*");////+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")   
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() )//这里作判断

return false;

return true;//只有匹配了才会执行这里

参考技术B 最简单的是使用Java系统库函数:
public static boolean isNumeric(String str)
for (int i = str.length();--i>=0;)
if (!Character.isDigit(str.charAt(i)))
return false;


return true;
参考技术C     String str = "123121233";
    System.out.println(str.matches("\\d+"));//true表示是数字,false表示不是

参考技术D Object instance of Number

以上是关于java 里怎么判断一个字符串是否纯数字的主要内容,如果未能解决你的问题,请参考以下文章