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

时间: 2024-12-06 01:13:41

Groovy Tip 37 字符串和数字之间的转化的相关文章

php短网址和数字之间相互转换的方法

 这篇文章主要介绍了php短网址和数字之间相互转换的方法,涉及php操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php短网址和数字之间相互转换的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <?php /** * 将数字转为短网址代码 * * @param

C#获得字符串中数字或字母的长度

在程序中获得字符串中数字或字母的长度时,可以先使用CharEnumerator对象的MoveNext方法循环访问字符串中的每个字符,并将字符用System.Text.Encoding类中ASCII编码方式的GetBytes方法进行编码,然后判断经过编码之后的字符的ASCII码值是否介于指定的值之间,如果是,则将其添加到一个数组中,最后获得该数组的项数即可.获得字符串中数字或字母长度的关键代码如下: ArrayList itemList = new ArrayList();CharEnumerat

在Groovy中使用字符串

Groovy支持两种类型字符串:一般的Java字符串,它是java.lang.String的实例:和GStrings,它是 groovy.lang.GString的实例,并且允许文本中包含占位符.GStrings并不是String的子类,因为String 类是最终类(final class)不能被继承.然而,GString与一般的字符串一样,因为Groovy能将 GStrings转型为Java strings. GString 适用于编写模板代码(templating),因为您必须动态构建字符串

thinkphp-php 判断3个数字之间最大,最小和中间值

问题描述 php 判断3个数字之间最大,最小和中间值 请问判断3个数字之间最大,最小和中间值,要如何判断?例如: $a = 500; $b = 1500; $c = 2000; 希望得到的结果是: 最大是c,最小是a,中间为b. 解决方案 可以使用这个方法:asort() - 根据值,以升序对关联数组进行排序.看下面的例子: <?php $age=array("Bill"=>"35","Steve"=>"37"

Javascript中如何将字符串转为数字

本文介绍Javascript中数字转字符串及字符串转数字的方法 Javascript中最简洁的数字转字符串方法是: var num = 123; var string = num + ""; 也就是在数字后面加上一个空字符.那么最简洁字符串转数字方法呢? 字符串只能进行加法(拼接) 字符串进行加法(拼接)是很常见的,但是字符串进行减法.乘法.除法呢? 这似乎很难定义,实际上字符串没有减法.乘法.除法操作. 但Javascript是动态语言,如果你拿两个字符串进行这三种操作的时候,他会尝

Symbian中把字符串变成数字的方法

我们知道C语言中又很方便的函数,很多种方法可以把字符串变成数字, 比如 char * p = "100" ; int a; a = atoi(p) ; // 此时a的值就是100了. 或者用这种办法也可以,就是慢点: sscanf(p, "%d", &a) ; 这样也可以达到同样的效果. 但是symbian开发环境中遇到这种情况,我们该怎么做呢? 我们可以考虑采用TLex类,来实现同样的功能. TBufC buffer = _L("124"

php结合正则获取字符串中数字

  这篇文章主要给大家汇总介绍了php结合正则获取字符串中数字的几种方法,十分的简单实用,有需要的小伙伴可以参考下. php结合正则获取字符串中数字 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?php $patterns = "/d+/"; //第一种 //$patterns = "/d/"; //第二种 $st

c#中判断字符串是不是数字或字母的方法

这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下   一.判断字母 复制代码 代码如下: string str = Console.ReadLine(); if (char.isLetter(str)) { } else if (char.IsDigit(str)) { } if(ch>='a'&&ch<='z') 小写字母 if(ch>='A'&&ch<='Z') 大写字母 数字也一样. 判断汉字一般是输入 >255

C语言中字符串和数字的相互转换实现代码

以下是对C语言中字符串和数字的相互转换实现代码进行了分析介绍,需要的朋友可以参考下   1.数字转换为字符串sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出. sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] ... ); 除了前两个参数类型固定外,后面可以接任意多个参数. printf 和sprintf 都使用格式