求具体代码:怎么判断一个字符串是个数字,如果是数字,是int/long/float那一种?

bbshero 2004-05-11 10:25:25
给定一个字符串,怎么判断这个字符串是个数字,如果是数字,是int/long/float/double/中的那一种?
...全文
174 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
eboyzhang 2004-05-14
  • 打赏
  • 举报
回复
try:

String data = "这里放你要想匹配的字符串";
String pattern = "^\\s*(\\+|-)?\\d+(\\.\\d+)?\\s*$";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(data);
if(m.matches())
System.out.println("match");
else
System.out.println("not match");
binny 2004-05-11
  • 打赏
  • 举报
回复
不要用异常来判断,影响效率,而且用异常控制流程是个非常差的习惯

public static boolean isNumber(String s)
{
boolean pointfirsttime = true;

int i = 0;
if (s == null) {
return false;
}

if (s.charAt(0) == '-') {
i++;
}

while (i < s.length()) {
if (!Character.isDigit(s.charAt(i))) {
if ('.' == s.charAt(i) && pointfirsttime) {
pointfirsttime = false;
} else {
return false;
}
}
i++;
}
return true;
}

至于是什么类型,不好说吧
eboyzhang 2004-05-11
  • 打赏
  • 举报
回复
你可以考虑使用正则表达式来判断是否是数字.

如果是数字,呃,我问你2是一个什么类型,int or long or other types?
BigBangBug 2004-05-11
  • 打赏
  • 举报
回复
我想好像除了逐个判断外没有什么简便的方法了吧...
关注!
Arias 2004-05-11
  • 打赏
  • 举报
回复
具体类型的判断我只在jxl.jar包里面的方法
c00.getType()实现过,具体还有没有其他的方法来实现,具体去查询一下!

关注!
bigcrazy 2004-05-11
  • 打赏
  • 举报
回复
用Double.parseDouble(string),如果捕到异常,则说明不是数字。

62,623

社区成员

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

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