java判断变量是否是数字 | 您所在的位置:网站首页 › java判断值是否为数字 › java判断变量是否是数字 |
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]+”即可匹配所有数字。 如果我输入的是"a“,它能识别出来这个不是数字,该怎么写? import java.io.* ; import java.util.* ; public class Test{ public static void main(String [] args) throws Exception{ System.out.println("请输入数字:"); BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String line=br.readLine(); if(line.matches("//d+")) //正则表达式 详细见java.util.regex 类 Pattern System.out.println("数字"); else System.out.println("非数字"); } } ("/d")是数字0-9 ("//d+")是什么意思? 正则表达式用两个斜杠表示一个斜杠,后面跟着一个加号表示出现一次或多次,完整的意思就是整个字符串中仅包含一个或多个数字。本文来自:http://blog.csdn.net/jojoy_828/archive/2008/08/27/2837784.aspx |
CopyRight 2018-2019 实验室设备网 版权所有 |