• Share
    • Twitter
    • LinkedIn
    • Facebook
    • Email
  • Feedback
  • Edit
Show / Hide Table of Contents

Integer data type

Some tooltip text!
• 5 minutes to read
 • 5 minutes to read

Integers are positive and negative whole numbers without decimals. If you need to work with decimals, use the Float data type.

Integer i = 42;
Float f = 3.14;
Note

You can create arrays of any data type to store more than one value at the same time like this: String[] s1;. For a given array, all items must be of the same type. Read more about looping and accessing array items in the fundamentals section.

Constructors

Integer Integer(Integer value)

Pass an Integer to copy into a new object.

Integer i = 42;
Integer j = Integer(i);
Integer k = Integer(256);
printLine(j.toString() + ", " + k.toString());

Integer Integer(String value)

Pass a String containing a number. The constructor will parse the text and create an Integer object.

String s = "1729";
Integer ramanujan = Integer(s);
Integer favOfSheldon = Integer("73");
printLine("Ramanujan's number: " + ramanujan.toString());
printLine("Sheldon Cooper's favorite number: " + favOfSheldon.toString());

Numeric strings

Strings can have numeric content, but are always written in quotes.

Integer c = 100;
String s= "100";

Because CRMScript is statically typed, you can't use arithmetic operators on strings. With Integers, the + operator will add the numbers. With Strings, the same operator will concatenate.

Integer c1 = 100;
Integer c2 = 100;
Integer c = c1 + c2;

String s1 = "100";
String s2 = "100";
String s = s1 + s2;

printLine(c.toString());
printLine(s);

The 1st output will be the sum of the numbers, 200 in this case. The next output will be the concatenated string, "100100" here.

You can't add an Integer and a String together. We need to change the type of one of them 1st.

String toString()

toString() is one of the most frequently used methods, typically when you are going to output something. It returns a string representation of an Integer.

Integer c = 100;
String s = c.toString();

Math operators

Operator Description
+ add
- subtract
* multiply
/ divide
% reminder
++ increment
-- decrement

Math functions

Integer abs()

abs() will return the absolute value of an Integer. That is, the non-negative value of the number without regarding the sign.

Integer i = -7;
print(i.abs().toString());

This example will print 7, without the sign.

Hexadecimal

It is sometimes necessary to convert an Integer to a hexadecimal string. You can choose between dot notation and input parameter.

String toHex()

printLine("Int \t Hex");
for (Integer i = 0; i < 16; i++) {
  printLine(i.toString() +"\t " + i.toHex());
}

This example will print a mapping of numbers and their hexadecimal value.

String toHex(Integer p0)

Same as above except you write toHex(i) rather than i.toHex().

Bool

In conditional statements, you need something that evaluates to true or false. For example in C, it is common to treat 0 as false and everything else as true.

In CRMScript, you can't use numbers directly. In the following example, the 1st test is OK, but the 2nd test will produce an error.

if (true)
  print("true");
if (1)
  print("true");

Bool toBool()

toBool() will return false if the Integer is zero, otherwise true.

Integer i = 3;
printLine(i.toBool().toString());
i = 0;
printLine(i.toBool().toString());

The 1st output will be true because we have a non-zero value. The next output will be false because i now has the value 0.

Zero vs. no value

Before an Integer is initialized, it has no value. This is commonly written as NULL, NUL, or NIL.

Null is different from zero, which is actually a numeric value. You can subtract any number from itself and get zero as a result. Null is also not the same as NaN (not a number).

CRMScript is usually forgiving and interprets null as zero. However, it is a good habit to always test that you have a value before using it.

Bool isNull()

isNull() will return true if it has no value and false if it does.

Integer i;
printLine(i.isNull().toString());
i = 0;
printLine(i.isNull().toString());

The 1st output will be true because we haven't initialized ì yet. The next output will be false because i now has the value 0.

In This Article
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top