java语言中如何判断字符串是否为数字
【实例描述】
软件运行过程中,经常需要用户输入数值、货币值等信息,然后进行处理。由于用户输入
只能是字符串类型,如果输入了非法的信息,如在货币值中输入了字母“a”以及其他非数字
字符,那么在运行时会抛出异常。通常我们可以通过捕获异常来判断输入信息是否合法,但这
并不是最好的处理方法。本实例将采用NumberUtils
类中的方法处理此问题,让程序更加快捷
方便。实例的运行效果如图4.11 所示。
【实现过程】
在Eclipse 中新建项目CheckNumber,并在其中创建一个CheckNumber.java
文件。在该类
的主方法中创建标准输入流的扫描器对象,接收用户输入的金额。程序将对其是否为数字进行
判断并输出提示结果。核心代码如下所示:
protected
void do_button_actionPerformed(ActionEvent e) {
String text =
textField.getText(); // 获取用户输入的金额字符串
boolean isnum =
NumberUtils.isNumber(text); // 判断是不是数字
if (isnum) { //
输出正确提示信息
showMessageDialog(null, "输入正确,是数字格式");
} else { //
输出错误提示信息
showMessageDialog(null,
"输入错误,请确认格式再输入");
}
}
【代码解析】
本实例采用了Apache 提供的lang 包中的NumberUtils
类来实现数字判断,该类的全路径
为“org.apache.commom.lang.math.NumberUtils”,这个类中的isNumber()方法可以接收字符串
参数,然后对字符串进行解析,如果字符串不能转换为数字格式,则返回false。其声明语法如
下所示:
public
static boolean isNumber(String str);
【知识扩展】
本实例还可以通过Double
类的parseDouble()方法把字符串转换为double
类型。如果抛出
异常说明字符串不是合法数字格式。但是建议不要使用这种方式做判断,那会降低系统的运行
速度。因为它无法与简单逻辑判断相比,后者在速度上完全超越前者。
【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!
Java开发高端课程免费试学
大咖讲师+项目实战全面提升你的职场竞争力
- 海量实战教程
- 1V1答疑解惑
- 行业动态分析
- 大神学习路径图
相关推荐
更多2015-10-22
2015-10-22
2015-10-22
达内就业喜报
更多>Java开班时间
-
北京 丨 11月27日
火速抢座 -
上海 丨 11月27日
火速抢座 -
广州 丨 11月27日
火速抢座 -
兰州 丨 11月27日
火速抢座 -
杭州 丨 11月27日
火速抢座 -
南京 丨 11月27日
火速抢座 -
沈阳 丨 11月27日
火速抢座 -
大连 丨 11月27日
火速抢座 -
长春 丨 11月27日
火速抢座 -
哈尔滨 丨 11月27日
火速抢座 -
济南 丨 11月27日
火速抢座 -
青岛 丨 11月27日
火速抢座 -
烟台 丨 11月27日
火速抢座 -
西安 丨 11月27日
火速抢座 -
天津 丨 11月27日
火速抢座 -
石家庄 丨 11月27日
火速抢座 -
保定 丨 11月27日
火速抢座 -
郑州 丨 11月27日
火速抢座 -
合肥 丨 11月27日
火速抢座 -
太原 丨 11月27日
火速抢座 -
苏州 丨 11月27日
火速抢座 -
武汉 丨 11月27日
火速抢座 -
成都 丨 11月27日
火速抢座 -
重庆 丨 11月27日
火速抢座 -
厦门 丨 11月27日
火速抢座 -
福州 丨 11月27日
火速抢座 -
珠海 丨 11月27日
火速抢座 -
南宁 丨 11月27日
火速抢座 -
东莞 丨 11月27日
火速抢座 -
贵阳 丨 11月27日
火速抢座 -
昆明 丨 11月27日
火速抢座 -
洛阳 丨 11月27日
火速抢座 -
临沂 丨 11月27日
火速抢座 -
潍坊 丨 11月27日
火速抢座 -
运城 丨 11月27日
火速抢座 -
呼和浩特丨11月27日
火速抢座 -
长沙 丨 11月27日
火速抢座 -
南昌 丨 11月27日
火速抢座 -
宁波 丨 11月27日
火速抢座 -
深圳 丨 11月27日
火速抢座 -
大庆 丨 11月27日
火速抢座