Groovy Tip 37 字符串和数字之间的转化
2009-06-04 07:57
260 查看
Groovy Tip 37 字符串和数字之间的转化
字符串和数字之间的转化是我们在项目中必然要碰到的问题,因为我们从用户界面取得的变量的值肯定是字符串。
所以,我们在项目中经常要做的事情就是:第一,需要对用户的输入进行校验,以判断用户的输入是否是一个数字;第二,如果是的话,我们则需要进一步把它转化为数字,以方便我们进行计算。
在Java语言中,我们要判断一个字符串是否是数字,基本上有两种方法,第一是直接进行转化,如果有Exception抛出,则该字符串非我们所需要的数字。如下面就是一段判定一个字符串是否为整型数字的代码:
public static boolean isInt(String str)
{
try
{
Integer.parseInt(str);
return true;
}
catch(Exception e)
{
return false;
}
}
类似的,我要判断一个字符串是否为float、double和boolean等,都可以使用这样的方法来判断。
第二种方法是通过正则表达式来进行判断,在这里就不再给出例子。
总而言之,这两种方法都需要我们给出代码来进行判断。
在Groovy语言中,系统就有API来帮助我们直接做这件事情,相当的简单。如,如果我们需要判断一个字符串是否为int型,则只需要写如下的代码:
def num = '23'
println num.isInteger()
运行结果为:
true
如果是如下的代码:
def num1 = '2.3'
println num1.isInteger()
则运行结果为:
false
类似的方法还有:
判断完了以后,如果该字符串是我们所需要的数字类型,则我们接下来需要将它们转化成相应的数字类型。
例如,我们如果需要把一个字符串转化为整型数字的话,就需要些如下的代码:
int num = Integer.parseInt("12");
对于这样的代码,Groovy语言也进行了进一步的简化:
def num = '23'
println num.toInteger()
是不是更简单了?
类似的方法还有:
字符串和数字之间的转化是我们在项目中必然要碰到的问题,因为我们从用户界面取得的变量的值肯定是字符串。
所以,我们在项目中经常要做的事情就是:第一,需要对用户的输入进行校验,以判断用户的输入是否是一个数字;第二,如果是的话,我们则需要进一步把它转化为数字,以方便我们进行计算。
在Java语言中,我们要判断一个字符串是否是数字,基本上有两种方法,第一是直接进行转化,如果有Exception抛出,则该字符串非我们所需要的数字。如下面就是一段判定一个字符串是否为整型数字的代码:
public static boolean isInt(String str)
{
try
{
Integer.parseInt(str);
return true;
}
catch(Exception e)
{
return false;
}
}
类似的,我要判断一个字符串是否为float、double和boolean等,都可以使用这样的方法来判断。
第二种方法是通过正则表达式来进行判断,在这里就不再给出例子。
总而言之,这两种方法都需要我们给出代码来进行判断。
在Groovy语言中,系统就有API来帮助我们直接做这件事情,相当的简单。如,如果我们需要判断一个字符串是否为int型,则只需要写如下的代码:
def num = '23'
println num.isInteger()
运行结果为:
true
如果是如下的代码:
def num1 = '2.3'
println num1.isInteger()
则运行结果为:
false
类似的方法还有:
isDouble
()、
isFloat
()、
isLong
()、
isNumber
()、
isBigDecimal
()、
isBigInteger
()等。
判断完了以后,如果该字符串是我们所需要的数字类型,则我们接下来需要将它们转化成相应的数字类型。
例如,我们如果需要把一个字符串转化为整型数字的话,就需要些如下的代码:
int num = Integer.parseInt("12");
对于这样的代码,Groovy语言也进行了进一步的简化:
def num = '23'
println num.toInteger()
是不是更简单了?
类似的方法还有:
toBigDecimal
()、
toBigInteger
()、
toBoolean
()、
toDouble
()、
toFloat
()等等。
相关文章推荐
- c++中字符串数字之间的转化
- c++中stringstream 类的用法及字符串与数字之间转化
- 字符串和数字之间的转化
- c/c++ 数字和字符串之间的转化
- acm比赛中字符串和数字之间的转化的办法总结
- js数字、字符串、数组之间的转化
- C++ 字符串转化为数组 有负数 数字之间为空格间隔
- 浅谈JS 数字和字符串之间相互转化的纠纷
- 软件国际化总结之一:数字与字符串之间的格式化和转化处理
- java,数字,字符,字符串之间的转化
- c++中字符串与数字之间的相互转化
- C语言实现atoi和itoa(字符串与数字之间的转化)
- C++中数字与字符串之间的转换
- 铁路列车之间的通信协议(MVB协议)分析软件C/C++实现(二) 模拟信号转化为数字信号
- 数字与字符串之间的转换
- 枚举与字符串、数字之间的转换和el表达式能与字符串比较并且还能取集合中的某个对象
- 字符串转化为数字
- 简单的stringstream实例--实现字符串与数字之间相互转换
- 不用库函数,用C语言实现将一整型数字转化为字符串
- js 字符串转化成数字