问题:封装一个方法,判断字符串是否是数值型,要求也能判断负数

答案:

测试方法1:使用org.apache.commons.lang3.StringUtils

@Test
void judgeStringType()  {String s0 = "123";String s1 = "adb123";String s2 = "-1";String s3 = "0";String s4 = "3.1415926";System.out.println("判断s0是否为数值类型:" + StringUtils.isNumeric(s0)); //trueSystem.out.println("判断s1是否为数值类型:" + StringUtils.isNumeric(s1)); //falseSystem.out.println("判断s2是否为数值类型:" + StringUtils.isNumeric(s2)); //falseSystem.out.println("判断s3是否为数值类型:" + StringUtils.isNumeric(s3)); //trueSystem.out.println("判断s4是否为数值类型:" + StringUtils.isNumeric(s4)); //false
}

测试结果表明:使用org.apache.commons.lang3.StringUtils,判断字符串是否是数值类型,数值只能判断0~正整数,有一个缺陷,负数和浮点数未正确判断,比如-1判断为false

测试方法2:采用正则表达式匹配,优点:除字符串外都能匹配

@Test
void judgeStringType2()  {Pattern pattern = Pattern.compile("-?\\d+(\\.\\d+)?");String s0 = "123";String s1 = "adb123";String s2 = "-1";String s3 = "0";String s4 = "3.1415926";System.out.println("判断s0是否为数值类型:" + pattern.matcher(s0).matches()); //trueSystem.out.println("判断s1是否为数值类型:" + pattern.matcher(s1).matches()); //falseSystem.out.println("判断s2是否为数值类型:" + pattern.matcher(s2).matches()); //trueSystem.out.println("判断s3是否为数值类型:" + pattern.matcher(s3).matches()); //trueSystem.out.println("判断s4是否为数值类型:" + pattern.matcher(s4).matches()); //true
}

测试结果表明:采用正则表达式匹配,优点:除字符串外都能匹配,推荐使用第二种方法。

java小工具util系列11:判断字符串是否是数值型,包括负数、0、正整数、浮点数等相关推荐

  1. java 判断字符是否为数值型_java算法----判断字符串是否为数值型字符串

    package com.huifudianxia.interview; import java.util.regex.Matcher; import java.util.regex.Pattern; ...

  2. JAVA—小鑫の日常系列故事(五)——卡片游戏

    JAVA-小鑫の日常系列故事(五)--卡片游戏 Description 小鑫和健健喜欢在课间的时候玩游戏,今天他手里有n张卡片,每张卡片有一个数字.于是他就想和健健比一比更幸运.玩法是这样的:这n张卡 ...

  3. Java—小鑫の日常系列故事(六)——奇遇记

    Java-小鑫の日常系列故事(六)--奇遇记 Description 今天,小鑫在山上玩的时候,意外被推下了悬崖. 当然,掉下悬崖之后必然有奇遇.(剧情就是这么坑爹)就狗血的碰到了野人A和野人B.然后 ...

  4. C# CharacterToBinary 将类似2进制字符串 10010110111 转换为数值型源码

    运行效果如下: 源码如下: /// <summary>/// 吉日嘎拉 QQ:252056973 将类似2进制字符串 10010110111 转换为 数值型 /// </summar ...

  5. java判断是否为double_java判断字符串是否为double型

    java判断字符串是否是double/** * 判断字符串是不是double型 * @param str * @return */ public static boolean isNumeric(St ...

  6. 【末夜】Java小工具合集一览

    统计一下目前已制作的所有小工具: KeyTest HtmlTail *1 CodeTail *1+ EnChTail *2 EnChXM *2+ MeowPlayer DateTail + RarLi ...

  7. Java判断字符串是否是数值

    判断一个字符串是否是数值,可以用正则表达式来判断.更简单的方法是把字符串转换成Float或者Double,然后捕捉NumberFormatException错误,如果有错误,就说明不是一个数值,如果没 ...

  8. 安利一个强大的java小工具

    hello,小伙伴们,我是小雨滴,相信不少小伙伴在开发过程中会用到很多小工具,比如,有个订单号码需要截图识别并复制出来,需要截图并自动识别.可能会使用到有道云等笔记来记录日常待办事项.比如复制出来的j ...

  9. python入门学习小工具制作系列各种小工具整理

    一.制作基于windows系统批量重命名文件小工具 参考博客: 使用python做一个批量重命名文件的小工具_讷言丶的博客-CSDN博客 效果展示: 临时01 代码实现: import os from ...

最新文章

  1. LVM学习之LVM基础
  2. arcgis 同名图层合并_ArcGIS实践教程(37)ArcGIS/ArcMap多个图层(要素类)的合并
  3. 美团一面:你既然写过Mybatis插件,能给我说说它底层是怎么加载一个自定义插件的吗?...
  4. 【Linux基础】Linux的5种IO模型详解
  5. path.join 和 path.resolve的区别
  6. 对老赖 绝不要忍 !一位美女程序媛的讨薪经历...
  7. JavaScript类型强制解释
  8. 微信JS SDK Demo 官方案例
  9. python中win32api模块_解决在Python中使用Win32api报错的问题,No module named win32api
  10. 图像处理系列——直方图之直方图规定化(Histogram Specification)
  11. linux系统安装步骤
  12. 计算机图片组合快捷键,电脑高手常用的组合快捷键
  13. 用php怎么输出一首诗,如何用一首诗总结你的2018年?
  14. Python 程序设计(第3版)
  15. 在Oracle中使用脏读,ORACLE 事务处理
  16. named:域名服务器部署及配置
  17. flowiz库中遇到 ValueError: buffer is smaller than requested size报错
  18. 基于Singer映射和参数位置自适应更新机制的改进被囊群算法
  19. 基于JavaWeb的MarkDown编辑器editor.md的使用
  20. WAYOS版本OEM,替换WAYOS的LOGO,江边小鸟杰作啊

热门文章

  1. python写入列表数据_python列表写入数据库
  2. php滚动条代码,CSS_给DIV添加滚动条的实现代码,直接为div指定overflow属性为auto - phpStudy...
  3. css指针光标样式小手图标
  4. 凹凸世界服务器维护到几点,凹凸世界手游2021年7月28日版本更新不停服维护公告-凹凸世界手游2021年7月28日更新了什么-Appfound...
  5. opengl入门(五)使用indices复用vertex
  6. 2022.3.30 图论——名流问题
  7. 电子信息专业学生,出来之后要干什么呢?(转)
  8. 简单快捷VMware虚拟机设置共享文件夹方法
  9. 想转行学习3D建模,到底是游戏建模赚钱还是影视动画建模赚钱?
  10. 恋爱物语源码+导入就可以用/iApp内核