java 如何判断字符串是否可以转换成数字

 我来答
木子和革斤
2014-01-15
知道答主
回答量:5
采纳率:0%
帮助的人:7082
展开全部
try {
String str="123abc";
int num=Integer.valueOf(str);//把字符串强制转换为数字
return true;//如果是数字,返回True
} catch (Exception e) {
return false;//如果抛出异常,返回False
}
000117lv
2018-04-12 · TA获得超过5077个赞
知道小有建树答主
回答量:64
采纳率:100%
帮助的人:8390
展开全部
  • 用JAVA自带的函数判断,其中Character.isDigit方法:确定或判断指定字符是否是一个数字。

  1. public static boolean isNumericZidai(String str) {      

  2. for (int i = 0; i < str.length(); i++) {

  3. System.out.println(str.charAt(i));

  4. if (!Character.isDigit(str.charAt(i))) {      

  5. return false;

  6. }

  7. }  

  8. return true;

  9. }

  • 正确的通用代码(传入包含中文、负数、位数很长的数字的字符串也能正常匹配):

  1. /**

  2. * 匹配是否包含数字

  3. * @param str 可能为中文,也可能是-19162431.1254,不使用BigDecimal的话,变成-1.91624311254E7

  4. * @return

  5. * @author yutao

  6. * @date 2016年11月14日下午7:41:22

  7. */

  8. public static boolean isNumeric(String str) {

  9. // 该正则表达式可以匹配所有的数字 包括负数

  10. Pattern pattern = Pattern.compile("-?[0-9]+\\.?[0-9]*");

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a0a8f93
2014-01-15 · TA获得超过559个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:111万
展开全部
有可能是小数哦,所以Integer不合适,还是自己写个方法吧,不如把String每个字节进行for循环,如果 不属于 【0,1,2,3,4,5,6,7,8,9,+,-,.】就是错的,当然还要考虑两个“.”两个“++”的情况
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2014-01-15 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:2263万
展开全部
str.matches("\\d+"); // int
str.matches("\\d+(\\.)?(\\d+)?"); // double or float
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weiyan820315
2014-01-15 · 超过33用户采纳过TA的回答
知道答主
回答量:139
采纳率:0%
帮助的人:77.6万
展开全部
try{
Integer.valueOf(字符串)
}catch{
System.out.println('不能转');
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式