首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

【议论】java判断是否是数字,并转换为int类型

2012-10-16 
【讨论】java判断是否是数字,并转换为int类型。以下是我的代码:Java code/*** 判断是否是Integer类型* @autho

【讨论】java判断是否是数字,并转换为int类型。
以下是我的代码:

Java code
    /**     * 判断是否是Integer类型     * @author daichangfu     * @param str     * @return     */    public boolean isNumber(String str){        if(str!=null&&!"".equals(str.trim())){            Pattern pattern = Pattern.compile("[0-9]*");             Matcher isNum = pattern.matcher(str);            Long number = 0l;            if(isNum.matches()){                number=Long.parseLong(str);            }else{                return false;            }            if(number>2147483647){                return false;            }        }else{            return false;        }        return true;    }


当我的URL参数从前台传过来的时候,我需要在后台先判断是否是数字,然后对其进行类型转换,我们头要求不论客户在地址栏怎么输入参数都不能报错。

但是我判断了参数都是数字,但是它的大小超过了int的长度会报错,所以我把它先转换成了Long型,然后判断,但是如果它输入的大小超过了Long一样会报错啊....。 请问大家,这个我改怎么办?

[解决办法]
你只要判断的话,很容易,直接number=Long.parseLong(str);

try catch一下,有异常,return false

否则return true
[解决办法]
Java code
    public static boolean isNumber(String str){                        if(str==null||str.length()==0)            return false;                char c[]=str.toCharArray();        for (int i = 0; i < c.length; i++) {            if(!Character.isDigit(c[i])){                return false;            }        }        //到此确认是数字        //其他操作        return false;    }
[解决办法]
Java code
boolean b = org.apache.commons.lang.math.NumberUtils.isNumber("123"); 

热点排行