今天看原来项目的代码,又让我发现了一处很urgly的代码,原来的程序员是这么判断传进去的字符串是否是整型或者浮点型数格式的数,他是这么做的:直接用parseInt或者parseDouble看调用这两个函数是否发生异常,如果发生异常,说明不符合,没有异常,则符合。
不能说这样做不对,但code smell太重,而且这种做法显得很诡异,靠抛异常来检查。。。。
(如果异常是由其它原因引起的呢??)这种编程风格非常不好,不过担心之前程序程序员已经用了多次这种手法,我只好自己另外写了两个函数,并且在他原来的函数里添加一些建议使用我现在写的函数的注释。
比较好的做法应该是用正则表达式判断是否符合整型或者是浮点型数格式。
看代码就知道了:
/**
* 判断number参数是否是整型数表示方式
* @param number
* @return
*/
public static boolean isIntegerNumber(String number){
number=number.trim();
String intNumRegex="\\-{0,1}\\d+";//整数的正则表达式
if(number.matches(intNumRegex))
return true;
else
return false;
}
/**
* 判断number参数是否是浮点数表示方式
* @param number
* @return
*/
public static boolean isFloatPointNumber(String number){
number=number.trim();
String pointPrefix="(\\-|\\+){0,1}\\d*\\.\\d+";//浮点数的正则表达式-小数点在中间与前面
String pointSuffix="(\\-|\\+){0,1}\\d+\\.";//浮点数的正则表达式-小数点在后面
if(number.matches(pointPrefix)||number.matches(pointSuffix))
return true;
else
return false;
}
分享到:
相关推荐
`gcvt`函数用于将浮点型数转换为字符串。与`atof`不同的是,`gcvt`的功能在于转换,它将`double`类型的浮点数转换为指定长度的字符串,保留指定的小数位数,并返回指向该字符串的指针。如果转换成功,`gcvt`会将转换...
1. PHP的8种数据类型包括:整型(int)、浮点型(float)、字符串(string)、布尔型(bool)、数组(array)、对象(object)、NULL(null)以及资源(resource,用于外部系统或库的引用)。 2. 这段代码会输出...
(5) startswith 和 endswith 这两个方法用来判断字符串是否以指定字符串开始或结束,可以接收两个整数参数来限定字符串的检测范围。 3. 列表 列表(list)是 Python 中使用最频繁的数据类型。列表是可变的,可以...
例如,通过宏定义可以快速地将不同类型的数值转换为字符串,而实例方法则提供了更为丰富的字符串处理能力,如判断字符串的组成、去除空白字符等。此外,通过引入第三方库,实现了JSON数据与字符串之间的互相转换以及...
1. 不可变类型(如整型、浮点型、字符串、元组):函数内部对参数的修改不会影响到函数外部的原对象,因为这些类型不可变,函数内部实际上是创建了一个新的对象。 2. 可变类型(如列表、字典):函数内部对参数的...
C语言中有多种数据类型,包括整型、浮点型、字符型、数组型、结构体型等。其中,整型包括short、int、long等,浮点型包括float、double、long double等。字符型包括char,数组型包括一维数组和多维数组。 变量 ...
在Python中,常见的基础数据类型包括整型(int)、浮点型(float)、字符串(string)和布尔型(bool)。首先,整型(int)用于表示整数,无论是正数、负数还是零,整型都可以涵盖。当我们在编写程序时,需要对数据...
5. `Float.valueOf(字符串).floatValue()` 和 `Double.valueOf(字符串).doubleValue()`:用于将字符串转换为浮点型或双精度浮点型数值。 6. `valueOf(数值)`:这个静态方法将数值转换成对应的字符串表示。 7. `index...
- `startsWith(String prefix)`、`endsWith(String suffix)`:判断字符串是否以特定的前缀或后缀开始或结束。 - `regionMatches(boolean ignoreCase, int thisStart, String other, int start, int length)`:比较两...
3. **Float(浮点型)** - 浮点数是带有小数部分的数字,或者以指数形式表示。 - 示例: ```php $floatNum = 3.14; $expNum = 1e-3; // 0.001 ``` 4. **Boolean(布尔型)** - 布尔型可以是`TRUE`或`FALSE`...
- **应用场景**:修改或者更新字符串中的部分信息。 ##### 2.11 重复串:Repeatstr(v,subStr,n) - **功能**:重复拼接字符串。 - **参数**:`v` - 原始字符串;`subStr` - 需要重复的子串;`n` - 重复次数。 - **...
在C语言中,基础数据类型包括整型、浮点型、字符型等。整型包括short、int、long、long long等,其中short占2字节,int占4字节,long占4字节,long long占8字节。浮点型包括float、double、long double等,其中float...
例如,变量声明使用`let`关键字,数据类型包括整型、浮点型、字符串型等,运算符包括算术运算符、比较运算符、逻辑运算符等。 字符串 字符串是C#中最基本的数据类型之一。字符串的操作包括长度、索引、切片、包含、...
输出:dRet(浮点型)-- 转换结果。 c) 转为整数数据CInt(varData) 命令说明:将变量varData的值转换为整数类型。 参数说明:varData(任意类型)-- 需要转换的数据。 输出:iRet(整型)-- 转换结果。 d) 转为...
limits.h头文件提供了数据类型的大小和范围的信息,包括整型、浮点型等数据类型的大小和范围。 5. math.h头文件 math.h头文件提供了一系列浮点运算函数,包括: * asin():返回反正弦值 * acos():返回反余弦值 *...
Python的数据类型分为整型、浮点型、复数型、字符串型、布尔型等。整型包括整数和长整数,浮点型包括浮点数和复数。字符串型可以使用单引号或双引号创建,支持转义字符和 Unicode 字符串。布尔型只有 True 和 False...
7. **重载函数实现多类型排序**:这个习题涉及到函数重载的概念,通过创建多个具有相同函数名但参数类型不同的函数,实现对不同类型数据(如整型、浮点型等)的排序。 以上习题覆盖了C++的基本语法、控制流、函数、...
这篇文档主要介绍了Python的基础语法,包括输入与输出、数据类型(整型、布尔型、字符串型和浮点型)。 1. 输入与输出: - `print`函数是Python中最常用的输出函数,用于将数据打印到控制台。默认情况下,`print`...
- C语言支持整型、浮点型、字符型等多种数据类型,以及算术运算、关系运算、逻辑运算等。 - 在填空题中,考生需要根据题目要求正确使用数据类型和运算符。 在备考过程中,考生应多做历年真题,熟悉C语言的各种...
命令可以包含可选参数,参数类型可以是整型、浮点型或者字符串。 3. **命令解析**:USMART会监听串口数据,当接收到完整的命令后,通过比较接收到的字符串与预定义的命令字符串进行匹配,匹配成功则执行对应的函数...