12、Groovy 数字
在Groovy中,数字实际上表示为对象,它们都是类Integer的一个实例。要使对象做某事,我们需要调用在其类中声明的一个方法。
Groovy支持整数和浮点数。
- 整数是不包含分数的值。
 - 浮点数是包含小数部分的十进制值。
 
Groovy中的数字示例如下所示 –
Integer x = 5; 
Float y = 1.25; 
 
其中x是整数类型,y是浮点数。
groovy中的数字被定义为对象的原因通常是因为存在对数字执行操作的要求。在原始类型上提供类的概念被称为包装类。
默认情况下,Groovy中提供了以下包装程序类。

包装类的对象包含或包装其各自的基本数据类型。将原始数据类型转换为对象的过程称为装箱,这由编译器负责。将对象转换回其对应的基本类型的过程称为取消装箱。
例子
以下是装箱和拆箱的例子 –
class Example { 
   static void main(String[] args) {
      Integer x = 5,y = 10,z = 0; 
      // The the values of 5,10 and 0 are boxed into Integer types 
      // The values of x and y are unboxed and the addition is performed 
      z = x+y; 
      println(z);
   }
}
 
上述程序的输出将为5.在上述示例中,5,10和0的值相应地首先嵌入到整数变量x,y和z中。上述程序的输出将是5。然后,当执行x和y的添加时,值从其整数类型取消装箱。
数字方法
由于Groovy中的Numbers表示为类,以下是可用的方法列表。
| 序号 | 方法和描述 | 
|---|---|
| 1 | xxxValue()   此方法接受Number作为参数,并基于调用的方法返回基本类型。  |  
  
| 2 | compareTo()   compareTo方法是使用比较一个数字与另一个数字。如果要比较数字的值,这是有用的。  |  
  
| 3 | equals()   该方法确定调用方法的Number对象是否等于作为参数传递的对象。  |  
  
| 4 | valueOf()   valueOf方法返回保存所传递的参数的值的相关Number对象。  |  
  
| 5 | toString()   该方法用于获取表示Number对象的值的String对象。  |  
  
| 6 | parseInt()   此方法用于获取某个String的原始数据类型。 parseXxx()是一个静态方法,可以有一个参数或两个参数。  |  
  
| 7 | abs()   该方法给出了参数的绝对值。参数可以是int,float,long,double,short,byte。  |  
  
| 8 | ceil()   方法ceil给出大于或等于参数的最小整数。  |  
  
| 9 | floor()   方法floor给出小于或等于参数的最大整数。  |  
  
| 10 | rint()   方法rint返回值最接近参数的整数。  |  
  
| 11 | round()   方法round返回最接近的long或int,由方法返回类型给出。  |  
  
| 12 | min()   该方法给出两个参数中较小的一个。参数可以是int,float,long,double。  |  
  
| 13 | max()   该方法给出了两个参数的最大值。参数可以是int,float,long,double。  |  
  
| 14 | exp()   该方法返回自然对数e的底数为参数的幂。  |  
  
| 15 | log()   该方法返回参数的自然对数。  |  
  
| 16 | pow()  该方法返回第一个参数的值增加到第二个参数的幂。  |  
  
| 17 | sqrt()  该方法返回参数的平方根。  |  
  
| 18 | sin()  该方法返回指定double值的正弦值。  |  
  
| 19 | cos()  该方法返回指定double值的余弦值。  |  
  
| 20 | tan()  该方法返回指定double值的正切值。  |  
  
| 21 | asin()   该方法返回指定double值的反正弦值。  |  
  
| 22 | acos()  该方法返回指定double值的反余弦值。  |  
  
| 23 | atan()  该方法返回指定double值的反正切。  |  
  
| 24 | atan2()  该方法将直角坐标(x,y)转换为极坐标(r,theta),并返回theta。  |  
  
| 25 | parseInt()   该方法将参数值转换为度。  |  
  
| 26 | radian()  该方法将参数值转换为弧度。  |  
  
| 27 | random()   该方法用于生成介于0.0和1.0之间的随机数。范围是:0.0 = <Math.random <1.0。通过使用算术可以实现不同的范围。  |