codecamp

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);
   }
}

上述程序的输出将为 15.在上述示例中,5,10 和 0 的值相应地首先嵌入到整数变量 x,y 和 z 中。上述程序的输出将是15。然后,当执行 x 和 y 的添加时,值从其整数类型取消装箱。

数字方法

由于 Groovy 中的 Numbers 表示为类,以下是可用的方法列表。

序号方法和描述
1xxxValue()

此方法接受 Number 作为参数,并基于调用的方法返回基本类型。

2compareTo()

compareTo 方法是使用比较一个数字与另一个数字。如果要比较数字的值,这是有用的。

3equals()

该方法确定调用方法的 Number 对象是否等于作为参数传递的对象。

4valueOf()

valueOf 方法返回保存所传递的参数的值的相关 Number 对象。

5toString()

该方法用于获取表示 Number 对象的值的 String 对象。

6parseInt()

此方法用于获取某个 String 的原始数据类型。 parseXxx()是一个静态方法,可以有一个参数或两个参数。

7abs()

该方法给出了参数的绝对值。参数可以是 int,float,long,double,short,byte。

8ceil()

方法 ceil 给出大于或等于参数的最小整数。

9floor()

方法 floor 给出小于或等于参数的最大整数。

10rint()

方法 rint 返回值最接近参数的整数。

11round()

方法 round 返回最接近的 long 或 int,由方法返回类型给出。

12min()

该方法给出两个参数中较小的一个。参数可以是 int,float,long,double。

13max()

该方法给出了两个参数的最大值。参数可以是 int,float,long,double。

14exp()

该方法返回自然对数e的底数为参数的幂。

15log()

该方法返回参数的自然对数。

16pow()

该方法返回第一个参数的值增加到第二个参数的幂。

17sqrt()

该方法返回参数的平方根。

18sin()

该方法返回指定 double 值的正弦值。

19cos()

该方法返回指定 double 值的余弦值。

20tan()

该方法返回指定 double 值的正切值。

21asin()

该方法返回指定 double 值的反正弦值。

22acos()

该方法返回指定 double 值的反余弦值。

23atan()

该方法返回指定 double 值的反正切。

24atan2()

该方法将直角坐标(x,y)转换为极坐标(r,theta),并返回theta。

25toDegrees()

该方法将参数值转换为度。

26toRadians()

该方法将参数值转换为弧度。

27random()

该方法用于生成介于0.0和1.0之间的随机数。范围是:0.0 = <Math.random <1.0。通过使用算术可以实现不同的范围。


Groovy 可选
Groovy 字符串
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }