Java怎样判断输入是否为数字?

smelling1718 2010-05-28 10:25:13
如题
...全文
13538 38 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
henoy 2010-05-31
  • 打赏
  • 举报
回复
正则表达式啊。。。
茫茫大海 2010-05-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ludengji 的回复:]

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);
……
[/Quote]
3楼正解
Ade子夜 2010-05-31
  • 打赏
  • 举报
回复
用正则表达式就可以了!!你的题不详细!!不能具体写
Ade子夜 2010-05-31
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 andy2u 的回复:]
引用 13 楼 cnjzy0106 的回复:

if(str==null || "".equals(str.trim())){
return true;
}
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str.trim());
if(isNum.matches()){
Sy……
[/Quote]


不是正解!!
andy2u 2010-05-31
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cnjzy0106 的回复:]

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("是一个数字")……
[/Quote]

用正则表达式一下子就出来了。楼主结贴吧
猫儿爷爷 2010-05-31
  • 打赏
  • 举报
回复
先换转成long 来接受(用long 接受只是不确定他到底传多少进来)然后再用正则判断下 或则 就如2L那样 如果抛异常 你就catch
SDMRauquin 2010-05-31
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 chainhou 的回复:]
为什么不用apache org.apache.commons.lang.StringUtils
这个类中有许多实用的方法,其中有一个方法是isNumberic,可以很方便的判断。
[/Quote]

StringUtils里面有很多实用的判断方法
chjoke 2010-05-31
  • 打赏
  • 举报
回复
正则表达式最好
focusforce 2010-05-31
  • 打赏
  • 举报
回复
Character类中的静态方法:
public static boolean isDigit(char ch) {
return isDigit((int)ch);
}
kamiomisuzu01 2010-05-31
  • 打赏
  • 举报
回复
正则是正解!
/d*匹配任意长度数字
X神 2010-05-31
  • 打赏
  • 举报
回复
支持2楼
qixiaolei1758 2010-05-29
  • 打赏
  • 举报
回复
如2楼所说 在编译时赋值警告不失为一种好办法! 不过,你也可以把数字输出来,看看!哈哈!
如果编写 一程序来自动检测的话! 那就用取余的方法啦! 循环每次“x%10”结果是否是0到9之间的数!
不过只能判断 整型数!!!
我暂时想不出完美的方法!
不过这样我们可以搞懂基本数据类型的所有知识!
谁有完美解决方案呀!!!
  • 打赏
  • 举报
回复
我并不认为 3 楼是正解,对于字符串 "12345678901234567890" 虽然全部都是数字字符,但是对于 int 来说它并不是一个数字。

建议使用 2 楼的方法。
mdch_08 2010-05-29
  • 打赏
  • 举报
回复
正则表达式是最好的选择~~~
sgkycqy 2010-05-29
  • 打赏
  • 举报
回复
可以用正则表达式判断
chainhou 2010-05-29
  • 打赏
  • 举报
回复
为什么不用apache org.apache.commons.lang.StringUtils
这个类中有许多实用的方法,其中有一个方法是isNumberic,可以很方便的判断。
firmness_rh 2010-05-29
  • 打赏
  • 举报
回复
直接在前台判断就可以了嘛。 <input type="text" id="num" name="num" onkeyup="this.value=this.value.replace(/\D/g,'')" />
ray198471 2010-05-29
  • 打赏
  • 举报
回复
方法好多的,看你的要求是什么了,你的要求面太广了,不能确切些?
kangxiaolin123456 2010-05-29
  • 打赏
  • 举报
回复
正则表达式
cnliming 2010-05-29
  • 打赏
  • 举报
回复
用js nan
加载更多回复(18)

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧