java中如何判断一个字符是否是数字字符,java判断字符串是不是数字
用JAVA自带的函数
public static boolean isNumericZidai(String str){
for(int I=0;我海峡。长度();i ) {
系统。出去。println(字符串。charat(I));
如果(!性格。是数字(字符串。charat(I))){
返回错误的
}
}
返回真实的
}其中Character.isDigit方法:确定或判断指定字符是否是一个数字。
测试方法:
公共静态void main(String[] args) {
双aa=-19162431.1254;
字符串a=-19162431.1254 ;
字符串b=-19162431 a 1254 ;
字符串c=中文;
系统。出去。println(isNumericzidai(double。tostring(aa)));
系统。出去。println(isNumericzidai(a));
系统。出去。println(isNumericzidai(b));
系统。出去。println(isNumericzidai(c));
}结果显示:
错误的
错误的
错误的
错误的这种方法显然不能判断负数。
用正则表达式
/**
* 匹配是否为数字
* @param str可能为中文,也可能是-19162431.1254,不使用BigDecimal的话,变成-1.91624311254E7
* @返回
* @日期2016年11月14日下午7:41:22
*/
公共静态布尔值是数字(字符串)
//该正则表达式可以匹配所有的数字包括负数
模式模式=模式。编译(-?[0-9] (\\.[0-9] )?);
字符串bigStr
尝试{
bigStr=new BigDecimal(str).toString();
} catch(异常e) {
返回false//异常说明包含非数字。
}
匹配器是num=pattern。matcher(bigStr);//匹配器是全匹配
如果(!isNum.matches()) {
返回错误的
}
返回真实的
}使用org.apache.commons.lang
公共静态布尔值是数字(字符串)检查字符串是否只包含采用双字节对字符进行编码数字。小数点不是采用双字节对字符进行编码数字,会返回错误.
空将返回错误.空字符串("")将返回没错。
字符串实用程序。isnumeric(null)=false
StringUtils.isNumeric()=true
字符串实用程序。isnumeric( )=false
字符串实用程序。isnumeric( 123 )=true
字符串实用程序。isnumeric( 12 ^ 3 )=false
字符串实用程序。isnumeric( ab2c )=false
字符串实用程序。isnumeric( 12-3 )=false
字符串实用程序。isnumeric( 12.3 )=false
参数:
拉紧要检查的字符串,可能为空
退货:
如果仅包含数字,并且非空,则为真实的更多爪哇岛知识请关注爪哇岛基础教程。以上就是爪哇岛判断字符串是不是数字的方法的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。