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

 我来答
000117lv
2018-01-09 · TA获得超过5078个赞
知道小有建树答主
回答量:64
采纳率:100%
帮助的人:9725
展开全部
  • 用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]*");

强乐谷梁安双
2019-11-29 · TA获得超过3816个赞
知道小有建树答主
回答量:3149
采纳率:28%
帮助的人:173万
展开全部
有可能是小数哦,所以Integer不合适,还是自己写个方法吧,不如把String每个字节进行for循环,如果
不属于
【0,1,2,3,4,5,6,7,8,9,+,-,.】就是错的,当然还要考虑两个“.”两个“++”的情况
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式