`
txf2004
  • 浏览: 7066184 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

    Groovy语法系列教程之字符串(三).pdf

    此外,Groovy对多行字符串的支持,使得编写多行文本和消息时更为方便,无需使用多个加号(+)连接字符串,也不需要手动处理字符串中的换行符。通过使用stripMargin()和stripIndent()等方法,还可以轻松地去除字符串...

    【android开发】实体类和JSON字符串之间相互转化

    在Android开发中,数据交换和持久化经常涉及到实体类(Entity Class)与JSON字符串之间的转换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。实体...

    groovy入门实例代码详细(包括字符串,map,闭包等等)

    本入门实例代码详细地涵盖了Groovy的一些核心概念和常用特性,包括字符串操作、Map的使用以及闭包等。 1. **字符串操作**: - Groovy中的字符串可以是单引号或双引号包裹的。双引号中的变量可以直接展开,单引号则...

    groovy中map的基本操作1

    在Groovy中,Map的键可以是任意类型,但通常我们使用字符串。声明Map时,可以省略字符串引号,例如`["a":1]`与`[a:1]`是等价的,前提是`a`不是Groovy的关键字且符合标识符规则。然而,如果键是一个变量,如`def x = ...

    Jenkins高级篇之Pipeline实践篇-2-groovy中字符串操作split()和tokenize()区别.rar

    本篇文章将深入探讨Groovy中的`split()`和`tokenize()`两个方法,它们都用于将字符串分解成多个部分,但各有特点和适用场景。 `split()`方法是Java中的标准方法,也被Groovy继承,用于按照指定的分隔符将字符串拆分...

    Groovy Tip 21 魔幻数组 一

    Groovy的魔法不仅限于上述功能,它还引入了数组之间的算术运算,如加、减、乘,使得数据处理更加直观和高效。 - **加法**:如前所述,两个数组可以直接使用加号进行合并。 - **减法**:数组相减则意味着从源数组中...

    groovy基础语法.pdf

    Groovy的switch语句可以使用任何类型作为表达式,包括字符串和数字。它也支持"fall through"行为,即不自动添加break语句,而是继续执行下一个case直到遇到break。 迭代器和范围操作: Groovy提供了范围(Range)...

    Programming_Groovy_2.7z

    - **隐式类型转换**:Groovy会自动处理基本类型的隐式转换,如字符串与数字之间的转换。 - **GString**:Groovy中的字符串可以包含表达式,使得字符串插值变得简单。 - **闭包**:Groovy支持函数式编程中的闭包,...

    java对象与JSON字符串互转jar,及其用法

    Java对象与JSON字符串之间的转换是Java开发中常见的需求,特别是在处理前后端交互或者存储数据时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。本...

    groovy文档

    此外,Groovy还支持自动类型转换,使得数字运算更加灵活和直观。 ### 集合类型 Groovy的集合类型包括ranges(范围)、lists(列表)、maps(映射)等,它们提供了丰富的操作符和方法,使得数据结构的操作变得简洁...

    groovy in action中文版(1)

    - Groovy支持自动装箱和拆箱,简化了对象和基本类型之间的转换。 - **3.1.4 没有中间层的拆箱** - Groovy在处理基本类型和包装器类型时,可以避免不必要的转换。 **3.2 可选类型的概念** - **3.2.1 指定类型** ...

    groovy in action 中文版 2017.11

    在字符串处理方面,Groovy引入了GString,这种字符串可以包含表达式,能够在运行时被评估。同时,Groovy还引入了对正则表达式的支持,使得文本模式匹配和处理更加方便。 在集合类型方面,Groovy支持使用范围...

    groovy基础语法.doc

    Groovy 中的字符串允许使用双引号和单引号。当使用双引号时,可以在字符串内嵌入一些运算式,Groovy 允许您使用与 bash 类似的 ${expression} 语法进行替换。可以在字符串中包含任意的 Groovy 表达式。 大块文本 ...

    一些groovy的实例代码--免费下载

    - Groovy支持直接通过`char`和`int`类型之间的隐式转换进行ASCII码转换。 5. **逐字符处理字符串** - 可以使用`each{it}`或`collect{it}`等迭代器对字符串中的每个字符进行操作。 6. **反转字符串** - Groovy...

    groovy

    3. 数据处理:Groovy可以方便地处理XML、JSON等数据格式,常用于数据转换和解析。 4. 测试:Spock测试框架使用Groovy编写,提供了富有表达力的测试语句,简化了测试代码的编写。 5. 容器管理:在Apache Kafka、...

    Groovy入门教程[参照].pdf

    4. 字符串连接符:可以使用 + 号连接字符串,也可以使用三个 “” 号连接字符串。 5. 一切皆对象:Groovy 对于对象是什么类型并不关心,一个变量的类型在运行中随时可以改变。 Groovy 的优点 1. 简洁的语法:...

    Groovy Language Documentation Version 2.5.5

    - 字符串(Strings):Groovy提供了多种字符串字面量,包括单引号字符串、三单引号字符串、双引号字符串以及它们的插值、转义和Unicode序列等。 - 数字(Numbers):Groovy支持整数、二进制、八进制、十六进制和十...

    groovy常用Script

    7. **语法特性**:Groovy的语法特性还包括闭包(Closure)、元编程、动态类型、GString(模板字符串)等,这些特性使得Groovy在脚本编写、测试和自动化任务中表现出色。 8. **测试**:`qe_normal_method_test....

Global site tag (gtag.js) - Google Analytics