Java怎样判断输入是否为数字? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 需要确定一下“数字”是什么,是 byte? short? int? long? float? double? 或者是其他的大数字?每种数值类型的取值范围不一样,对于 byte 来说 256 这个数字就是不合法的! 就使用Integer的parseInt转化一下,有异常的就不是数字了。 public class CharTest { public CharTest() { } public static void main(String args[]) { String s = "123abc"; for (int i=0;i<s.length();i++) { char ch = s.charAt(i); System.out.println(ch + " is digit? " + Character.isDigit(ch)); System.out.println(ch + " is digit? " + (ch >= '0' && ch <= '9')); } }}不知道是不是你所要的 3L正解。好好看看thinking in Java 我并不认为 3 楼是正解,对于字符串 "12345678901234567890" 虽然全部都是数字字符,但是对于 int 来说它并不是一个数字。建议使用 2 楼的方法。 就像你在1楼说的,对不同的类型的数字,范围是不一样的,所以要先确定LS你所谓数字的范围,如果是整数范围内用In...可以,但是try catch终归不是什么好的办法,建议用4楼的说法,正则表达式 if(str==null || "".equals(str.trim())){ return true;}Pattern pattern = Pattern.compile("[0-9]*");Matcher isNum = pattern.matcher(str.trim());if(isNum.matches()){ System.out.println("是一个数字");}else{ System.out.println("不是一个数字");} 直接在前台判断就可以了嘛。 <input type="text" id="num" name="num" onkeyup="this.value=this.value.replace(/\D/g,'')" /> 为什么不用apache org.apache.commons.lang.StringUtils这个类中有许多实用的方法,其中有一个方法是isNumberic,可以很方便的判断。 不需要使用正则表达式,已有的方法很多的。可以去看jdk的api,比如Character,如果做过中文分词,就对这方面比较熟悉了。 Character类中的静态方法:public static boolean isDigit(char ch) { return isDigit((int)ch); } StringUtils里面有很多实用的判断方法 先换转成long 来接受(用long 接受只是不确定他到底传多少进来)然后再用正则判断下 或则 就如2L那样 如果抛异常 你就catch 关于一个大学书本线程同步的问题(新手) 新手提问!!一元稀疏多项式计算器问题! 类在实例化之前是否占有内存? 高分求救 一个小程序 急 用过SecureCRT 4.1请帮下忙. java的开发工具有那些,这几天我是晕晕的? 主线程创建的子线程怎么样引用主线程,调用主线程的方法? import com.sun.java.swing.*;为什么出错? Choice 控件 问题,在线等待 一個關於SQL數據庫查詢的很菜的問題 如何设置JTabbedPane为透明,或者如何设置JPanel为透明 eclipse里怎么设置jsp的中文编码
public CharTest() {
}
public static void main(String args[]) {
String s = "123abc";
for (int i=0;i<s.length();i++) {
char ch = s.charAt(i);
System.out.println(ch + " is digit? " + Character.isDigit(ch));
System.out.println(ch + " is digit? " + (ch >= '0' && ch <= '9'));
}
}
}不知道是不是你所要的
return true;
}
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str.trim());
if(isNum.matches()){
System.out.println("是一个数字");
}else{
System.out.println("不是一个数字");
}
这个类中有许多实用的方法,其中有一个方法是isNumberic,可以很方便的判断。
public static boolean isDigit(char ch) {
return isDigit((int)ch);
}
StringUtils里面有很多实用的判断方法