加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy Tip 37 字符串和数字之间的转化

发布时间:2020-12-14 17:07:57 所属栏目:大数据 来源:网络整理
导读:??????????????????? Groovy Tip 37 ? 字符串和数字之间的转化 ? ? ? 字符串和数字之间的转化是我们在项目中必然要碰到的问题,因为我们从用户界面取得的变量的值肯定是字符串。 所以,我们在项目中经常要做的事情就是:第一,需要对用户的输入进行校验,以

???????????????????Groovy Tip 37? 字符串和数字之间的转化

?

?

?

字符串和数字之间的转化是我们在项目中必然要碰到的问题,因为我们从用户界面取得的变量的值肯定是字符串。

所以,我们在项目中经常要做的事情就是:第一,需要对用户的输入进行校验,以判断用户的输入是否是一个数字;第二,如果是的话,我们则需要进一步把它转化为数字,以方便我们进行计算。

Java语言中,我们要判断一个字符串是否是数字,基本上有两种方法,第一是直接进行转化,如果有Exception抛出,则该字符串非我们所需要的数字。如下面就是一段判定一个字符串是否为整型数字的代码:

?

???

??? public static boolean isInt(String str)

??? {

?????? try

?????? {

?????????? Integer.parseInt(str);

?????????? return true;

?????? }

?????? catch(Exception e)

?????? {

?????????? return false;

?????? }

??? }

?

?

?

类似的,我要判断一个字符串是否为floatdoubleboolean等,都可以使用这样的方法来判断。

第二种方法是通过正则表达式来进行判断,在这里就不再给出例子。

总而言之,这两种方法都需要我们给出代码来进行判断。

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()等等。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读