关于判断字符串参数是否是整型参数或者浮点型参数的方法

关于判断字符串参数是否是整型参数或者浮点型参数的方法今天看原来项目的代码 又让我发现了一处很 urgly 的代码 原来的程序员是这么判断传进去的字符串是否是整型或者浮点型数格式的数 他是这么做的 直接用 parseInt 或者 parseDouble 看调用这两个函数是否发生异常

大家好,欢迎来到IT知识分享网。今天看原来项目的代码,又让我发现了一处很urgly的代码,原来的程序员是这么判断传进去的字符串是否是整型或者浮点型数格式的数,他是这么做的:直接用parseInt或者parseDouble看调用这两个函数是否发生异常,如果发生异常,说明不符合,没有异常,则符合。

不能说这样做不对,但code smell太重,而且这种做法显得很诡异,靠抛异常来检查。。。。

(如果异常是由其它原因引起的呢??)这种编程风格非常不好,不过担心之前程序程序员已经用了多次这种手法,我只好自己另外写了两个函数,并且在他原来的函数里添加一些建议使用我现在写的函数的注释。

比较好的做法应该是用正则表达式判断是否符合整型或者是浮点型数格式。

看代码就知道了:

Java代码  

  1. / 
  2.      * 判断number参数是否是整型数表示方式 
  3.      * @param number 
  4.      * @return 
  5.      */  
  6.     public static boolean isIntegerNumber(String number){  
  7.         number=number.trim();  
  8.         String intNumRegex=“\\-{0,1}\\d+”;//整数的正则表达式  
  9.         if(number.matches(intNumRegex))  
  10.             return true;  
  11.         else  
  12.             return false;  
  13.     }  
  14.       
  15.     / 
  16.      * 判断number参数是否是浮点数表示方式 
  17.      * @param number 
  18.      * @return 
  19.      */  
  20.     public static boolean isFloatPointNumber(String number){  
  21.         number=number.trim();  
  22.         String pointPrefix=“(\\-|\\+){0,1}\\d*\\.\\d+”;//浮点数的正则表达式-小数点在中间与前面  
  23.         String pointSuffix=“(\\-|\\+){0,1}\\d+\\.”;//浮点数的正则表达式-小数点在后面  
  24.         if(number.matches(pointPrefix)||number.matches(pointSuffix))  
  25.             return true;  
  26.         else  
  27.             return false;  
  28.     } 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/153183.html

(0)
上一篇 2025-03-05 17:25
下一篇 2025-03-05 17:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信