这些天因为工作上的需求,其中一个小环节是传来一个String类型的参数,需要判断该参数是否为数字(正负、正数小数都要能判断)。

当走到这个环节时,首先想到的是isDigit()方法,具体不清楚是哪个类下的了,不过查API后发现该方法不可行,它只能判断正整数。不过为了以后可能会用到该方法,所以特意写了个小程序当备用。

代码如下:

//采用Character.isDigit()方法来判断一个字符串是否为数字

//局限性很大,只能判断全是数字的字符串

char[] strArr = str.toCharArray();

int count = 0;

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

if(Character.isDigit(strArr[i]) == false) {

count++;

}

}

if(count > 0) {

System.out.println("Is not Number!");

} else {

System.out.println("Is Number!" + str);

}

后来通过百度,又找到了另外两种方法,一种是通过强制类型转换的方式,一种就是正则表达式了。

对于强制类型转换的方式,代码可以这样写:

//采用强制类转换来判断一个字符串是否为数字

//有局限性,如果要判断是int型或double型,就必须要调整转换语句,但可以判断正负

try {

//Integer num = Integer.valueOf(str);

Double num2 = Double.valueOf(str);

//System.out.println("Is Number!" + num);

System.out.println("Is Number!" + num2);

} catch (Exception e) {

System.out.println("Is not Number!");

}

最后能解决我问题的,还是通过正则表达式的方式了。

代码如下:

//采用正则表达式的方式来判断一个字符串是否为数字,这种方式判断面比较全

//可以判断正负、整数小数

Boolean strResult = str.matches("-?[0-9]+.*[0-9]*");

if(strResult == true) {

System.out.println("Is Number!");

} else {

System.out.println("Is not Number!");

}

通过这次的问题,我也发现了自身的不足。正则表达式确实很牛,但是我对它的认识,还停留在了解阶段。所以后续工作中,一定要有意识的多去学习它,使用它。

java 判断正负数_Java判断一个字符串为数字(正负、小数)相关推荐

  1. C# 判断正负数个数

    ` //判断正负数个数Console.WriteLine("请输入数字(输入0结束)");int num = int.Parse(Console.ReadLine());int p ...

  2. Oracle 判断正负数函数 sign

    sign(数值).正数大于0返回1,等于0返回0,负数小于0返回-1. select sign(1) from dual: 此函数可以判断正负数数值判断. ----------------小尾巴分割- ...

  3. python判断正数负数_python判断正负数方式

    我就废话不多说了,大家还是直接看代码吧! a1 = raw_input("please input a number") a = int(a1) if(a!=0): if(a &g ...

  4. python判断正负的函数_python判断正负数方式

    我就废话不多说了,大家还是直接看代码吧! a1 = raw_input("please input a number") a = int(a1) if(a!=0): if(a &g ...

  5. Java中怎么样检查一个字符串是不是数字呢

    问题:Java中怎么样检查一个字符串是不是数字呢 在解析之前,怎么样检查一个字符串是不是数字呢 回答一 这些通常是由一个简单的用户自定义函数去解决的(即,自带的 "isNumeric&quo ...

  6. 统计一个字符串中数字的个数

    问题描述 统计一个字符串中数字的个数 程序代码 #include <stdio.h> /* *csdn学院--2016级 *目的:让代码见证成长(作为一个初学的菜鸟,如 *大家有发现错误, ...

  7. java怎么一段字符串全为数字_java 如何判断一个字符串是数字

    断字符串是不是数字,大家可能会用一些java自带的方法,也有可能用其他怪异的招式,比如判断是不是整型数字,将字符串强制转换成整型,不是数字的就会抛出错误,那么就不是整型的了.但本文介绍的比较好的两种方 ...

  8. java 字符长度 中文_java判断中文字符串长度的简单实例

    话不多说,上代码: /** * 获取字符串的长度,如果有中文,则每个中文字符计为2位 * @param value 指定的字符串 * @return 字符串的长度 */ public static i ...

  9. java判断字符长度_java判断中文字符串长度的简单实例

    话不多说,上代码: /** * 获取字符串的长度,如果有中文,则每个中文字符计为2位 * @param value 指定的字符串 * @return 字符串的长度 */ public static i ...

最新文章

  1. Windows CE 6.0 安装顺序
  2. Android中的跨进程通信方法实例及特点分析(二):ContentProvider
  3. java批量修改txt文件_Java小工具 根据文本批量修改文件名
  4. MySQL高级 - SQL技巧 - 数字函数与字符串函数
  5. php存储session更改,php如何修改SESSION的生存存储时间的实例代码_php实例
  6. praying,blessing,wishing
  7. js 创建keyframe_javascript – 查找特定的CSS @keyframes规则
  8. 《黑客帝国》中的代码雨让人身临其境!利用Python轻松实现!
  9. 商汤OCR文本检测+识别开源(FOTS),TF实现NBA记分牌识别
  10. MOSS搜索的爬网错误【访问被拒绝。请验证默认内容访问账户是否有权访问此库】...
  11. servlet和springMVC框架
  12. 数据结构--酒店管理系统(C语言)
  13. Windows修改键盘映射
  14. java时间数字转换成大写显示
  15. danfoss 变频器的profinet通讯调试_西门子G120变频器S7-300之间的PN通讯
  16. JavaWEB笔记 浏览器内核及分类
  17. 到2020年,将有60%的工作会被人工智能取代?
  18. Opencv源码之平面点集的最小包围圆
  19. 基于互联云及多云的云化基础设施算力调度
  20. 补鞋匠迈尔鲁夫的故事(二)

热门文章

  1. 渗透测试(Penetration Testing)
  2. 文档管理 linux,Linux 文档管理
  3. JDK5.0新特性系列---11.5.3线程 同步装置之CyclicBarrier
  4. angularJS之angular-datatable的方法
  5. centos中安装nginx
  6. 51nod 1196
  7. Java编程的逻辑 (56) - 文件概述
  8. 经典算法大全之河内之塔
  9. Source Insight下载及注册码
  10. SMI/慧荣/SM32**主控量产通用教程,PNY U盘量产!