# Arithmetic operators in LotusScript

When an arithmetic expression contains a NULL operand, the expression as a whole evaluates to NULL.

• Exponentiation raises a number to a power.
• Negation returns a number's negative value.
• Multiplication multiplies two numbers.
• Division divides a number and returns a floating-point number.
• Integer division rounds numbers to integers before dividing them.
• Modulo divides numbers and returns the remainder.
• Addition finds the sum of two numbers.
• Subtraction finds the difference between two numbers.

When an arithmetic expression contains a NULL operand, the expression as a whole evaluates to NULL.

For example:

``````Dim varV
Dim anInt%
varV = NULL
varV = varV ^ 2
' Test to see if varV is NULL.
Print IsNull (varV)
' Output: True
anInt% = 5
Print IsNull(varV * anInt%)
' Output: True``````

Only variables of type Variant may be assigned a value of NULL without causing an error.

This example is valid:

``````varV = NULL
varV = varV * 5``````

This example is not valid:

``````anInt% = anInt% * varV
' Generate an error.``````

When the result of an arithmetic operation is too large for the type of variable to which it is assigned, LotusScript® automatically converts the data type, if possible, or an overflow error results.

``````Dim anInt As Integer
Dim aNumericV As Variant
aNumericV = 10000 ^ 10
Print aNumericV
' Output: 1E+40
Print TypeName(aNumericV)
' Output: DOUBLE
anInt% = 10000 ^ 10
' Generate an error.``````

LotusScript also rounds numbers when performing floating point division on integer operands:

``````aDouble# = 42.5
anInt% = 64
anInt% = anInt% / 7
Print anInt%
' Output: 9
' The Mod operator rounds its two operands to Integer
' expressions, divides the first Integer by the second,
' and returns the remainder.