Skip to content

Groovy 4 – Data Types

Groovy Supports all of the JAVA primitive and other complex data types and actually does some improvement on them.

Primitive  =  are types of data that can not be brake down into other data types.

So the Primitive types supported by Groovy are:

1 Numeric Primitives:

  • Integers:


– 8 bit (this means it occupies 8 bit of memory )

– values allowed are from -128 to +127


16 bit

– values allowed are from -32,768 to 32,767


32 bit

-values allowed are from -2,147,483,648 to 2,147,483,647


64 bit

-values allowed are from -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807

  • Floating Point


32 bit

the values allowed are so big that we need to use the scientific notation to express them 1.4e-045 to 3.4e+038

“A floating-point number is also known as a single-precision floating-point number. It can represent a real number as small as 1.4 x 10-45 and as big as 3.4 x 1038 in magnitude.” source

A floating-point number is also known as a single-precision floating-point number

this actually means that  a primitive of type float takes only 1 decimal.


1.9 ;

3.0(even if a number has no decimals, a primitive float will put 0 after the decimal point)


64 bit

double is even bigger than float, values allowed are:  4.9e-324 to 1.8e+308

The double data type uses 64 bits to store a floating-point number. double value is also known as a double-precision floating-point number.



3.00 (just like for  the float type, even if no decimals, two 0 will be added in the decimal places)

2 Character Primitive:


16 bit

-can take values from 0 to 65535

-there are no negative char

-they are represented mostly by ASCII

3 Boolean


-can have 2 values: true or false

-Boolean data type represents one bit of information

-default value is false

Class types










Now out of all of those class types most important in the context of Sales Cloud are java.lang.String and  java.math.BigDecimal .

java.lang.String deals with texts, so values from Text Fields belong to this type

java.math.BigDecimal – this one is used in the numeric type fields.


You can think of strings as text.

Usually  when we want to tell the code something is a string we encapsulate it in between double quotation marks  ” “

However Groovy also permits using single quotation marks to signal string ‘ ‘

We will dedicate a post to talk about strings later on.

Big Decimals

This are float numbers with an arbitrary number of decimals

An example could be 3.987645554

This is useful because something we need more precision when expressing a number than what float and double primitive data types permit.

For example currency conversion rates, is not enough to use just 2 decimals to express them, we actually need more than that, here is where Big Decimals come in play.

As Big Decimals permit showing a larger number of decimals.

This is also the reason that all numeric fields in Engagement Cloud  are actually Big Decimal Types

Leave a Reply

Your email address will not be published. Required fields are marked *