Ⅰ java判断list里的数据是否为纯数字
建议遍历一下list
然后用正则判断,不推荐用异常捕获的方法。
例如:List
list
=
***.findName(1);
String
regex
=
"^\\d+$";
for(int
i
=
0;i<list.size();i++){
String
str
=
list.get(i);
if(str.matches(regex)){
System.out.println(str);
}
}
Ⅱ java 里怎么判断一个字符串是不是纯数字
publicclassAllNumber{
/**
*使用Double.parseDouble方法判断字符串是不是为数字
*
*@paramnumber
*字符串
*@return
*/
publicstaticbooleanisNumber(Stringnumber){
if(null==number){
returnfalse;
}
try{
doublenum=Double.parseDouble(number);//转换成功则是数字
}catch(Exceptione){
//TODO:handleexception
returnfalse;
}
returntrue;
}
/**
*使用正则表达式判断字符串是不是为数字
*
*@paramnumber
*字符串
*@return
*/
(Stringnumber){
if(null==number){
returnfalse;
}
Stringregex="^[-]{0,1}[0-9]{1,}[.]{0,1}[0-9]{1,}$";
returnnumber.matches(regex);
}
publicstaticvoidmain(String[]args){
System.out.println(isNumber("1234.90"));
System.out.println(isNumberByRegex("-0123.9"));
}
}
Ⅲ 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]+”即可匹配所有数字。
Ⅳ java中判断字符串是否为纯数字
方法一:利用正则表达式 public class Testone { public static void main(String[] args){ String str="123456"; boolean result=str.matches("[0-9]+"); if (result == true) { System.out.println("该字符串是纯数字");}else{System.out.println("该字符串不是纯数字");}}}方法二:利用Pattern. import java.util.regex.Matcher; import java.util.regex.Pattern; public class Testone { public static void main(String[] args){ String str="123456"; Pattern pattern = Pattern.compile("[0-9]{1,}"); Matcher matcher = pattern.matcher((CharSequence)str); boolean result=matcher.matches(); System.out.println("该字符串是纯数字");}else{System.out.println("该字符串不是纯数字");}}}
Ⅳ java 如何构造一个纯数字字符串
我想的是你应该要一个随机生成的java数字字符串方法,不过jdk的AIP里面有个已经定义好的方法,你可以用用,不过它是当前系统的时间戳
long l=System.currentTimeMillis();
这个可以,但位数不固定,你可以拼接上一个随机数,然后使用字符串截取的方式让长度一致。
给你一个方法:
public String newString(){
long l=new Random().nextLong();
return System.currentTimeMillis()+""+(l<0?-l:l);
}
结果可以参考:
Ⅵ java中判断字符串是否为纯数字
//方法一:用JAVA自带的函数x0dx0apublic static boolean isNumeric(String str)x0dx0a{ for (int i = str.length();--i>=0;)x0dx0a{x0dx0aif (!Character.isDigit(str.charAt(i)))x0dx0a{ x0dx0areturn false;6 x0dx0a}x0dx0a}x0dx0areturn true;x0dx0a}x0dx0ax0dx0a/*方法二:推荐,速度最快x0dx0a* 判断是否为整数 x0dx0a* @param str 传入的字符串 x0dx0a* @return 是整数返回true,否则返回false x0dx0a*/x0dx0apublic static boolean isInteger(String str) { x0dx0aPattern pattern = Pattern.compile("^[-\+]?[\d]*$"); x0dx0areturn pattern.matcher(str).matches(); x0dx0a}x0dx0a//方法三:public static boolean isNumeric(String str){x0dx0aPattern pattern = Pattern.compile("[0-9]*"); return pattern.matcher(str).matches(); x0dx0a}x0dx0ax0dx0a//方法四:public final static boolean isNumeric(String s) { if (s != null && !"".equals(s.trim())) return s.matches("^[0-9]*$"); elsex0dx0areturn false;x0dx0a} x0dx0a//方法五:用ascii码 public static boolean isNumeric(String str){ for(int i=str.length();--i>=0;){ int chr=str.charAt(i); if(chr<48 || chr>57) return false;x0dx0a} return true;x0dx0a}
Ⅶ java 正则匹配字符是否为纯数字
java 正则匹配字符为纯数字方法:
定义正则表达式为:
Stringreg="^\d+$"
获取要判断的字符串:
Stringstr;//可以通过Scanner从控制台输入,也可以用字符串常量进行初始化
调用字符串的matches方法判断字符串为纯数字情况:
str.matches(reg);
如果是纯数字返回为true,否则返回为false;
Ⅷ Java 获得纯数字格式的时间
Java 获得纯数字格式的时间有下面三种方法
方法 一
System.currentTimeMillis();
方法 二
Calendar.getInstance().getTimeInMillis();
方法 三
new Date().getTime();
以下是效率对比:
import java.util.Calendar;
import java.util.Date;
public class TimeTest {
private static long _TEN_THOUSAND=10000;
public static void main(String[] args) {
long times=1000*_TEN_THOUSAND;
long t1=System.currentTimeMillis();
testSystem(times);
long t2=System.currentTimeMillis();
System.out.println(t2-t1);
testCalander(times);
long t3=System.currentTimeMillis();
System.out.println(t3-t2);
testDate(times);
long t4=System.currentTimeMillis();
System.out.println(t4-t3);
}
public static void testSystem(long times){//use 188
for(int i=0;i<times;i++){
long currentTime=System.currentTimeMillis();
}
}
public static void testCalander(long times){//use 6299
for(int i=0;i<times;i++){
long currentTime=Calendar.getInstance().getTimeInMillis();
}
}
public static void testDate(long times){
for(int i=0;i<times;i++){
long currentTime=new Date().getTime();
}
}
}
因为很简单我就不加注释了,每种方法都运行1千万次,然后查看运行结果
187
7032
297
结果发现 System.currentTimeMillis() 这种方式速度最快
Calendar.getInstance().getTimeInMillis() 这种方式速度最慢,看看源码会发现,Canlendar因为要处理时区问题会耗费很多的时间。
所以建议多使用第一种方式。
Ⅸ java正则判断是否是数字
java中使用正则表达式 \d+ 可以判断是否是纯数字(0到9)
importjava.util.regex.Pattern;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Stringstr="125654";
Patterndigit=Pattern.compile("\d+");
if(digit.matcher(str).matches()){
System.out.println("是纯数字");
}else{
System.out.println("不是纯数字");
}
}
}
Ⅹ java验证字符串是否为数字
java中判断字符串是否为纯数字的方法如下:
方法一:Pattern语句
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Testone {
public static void main(String[ ] args){
String str="123456";
Pattern pattern = Pattern.compile("[0-9]{1,}");
Matcher matcher = pattern.matcher((CharSequence)str);
boolean result=matcher.matches();
if (result == true) {
System.out.println("该字符串是纯数字");
}
else{
System.out.println("该字符串不是纯数字");
}
}
}
方法二:正则表达式
public static boolean isNumber(String str){
String reg = "^[0-9]+(.[0-9]+)?$";
return str.matches(reg);
}