##### Page tree
Go to start of banner

# Math, formulas, expressions

Always check which decimal separator does your data contain. Other separators than dot "." must be replaced first, otherwise wrong or empty result may be calculated. See replacing options for details.

### Expressions

You can use numeric variables, functions and values in regular math expressions:

```x = 100
a = a + 14 * 5 / (1 + x) + ("0.3" as double)
```

Equations (returning boolean values):

```b = a == 15
```

You can use boolean variables, functions and values in boolean logic expressions:

```a = isBlank("")
b = isBlank("not blank string")
c = b && a || false
```

Is the same as:

```c = isBlank("") && isBlank("not a blank string")
```
###### Boolean operators
 | the OR operator & the AND operator ^ the XOR operator ! the NOT operator || the short-circuit OR operator && the short-circuit AND operator == the EQUAL TO operator != the NOT EQUAL TO operator

String can be concatenated together by a + operator:

```a = "first part" + "second part" + "third part"
```

### Math funtions

Function

Description

`double abs(double a)`

Returns the absolute value of a double value.

`float abs(float a)`

Returns the absolute value of a float value.

`int abs(int a)`

Returns the absolute value of an int value.

`long abs(long a)`

Returns the absolute value of a long value.

`double acos(double a)`

Returns the arc cosine of a value; the returned angle is in the range 0.0 through pi.

`double asin(double a)`

Returns the arc sine of a value; the returned angle is in the range -pi/2 through pi/2.

`double atan(double a)`

Returns the arc tangent of a value; the returned angle is in the range -pi/2 through pi/2.

`double atan2(double y, double x)`

Returns the angle theta from the conversion of rectangular coordinates (x, y) to polar coordinates (r, theta).

`double cbrt(double a)`

Returns the cube root of a double value.

`double ceil(double a)`

Returns the smallest (closest to negative infinity) double value that is greater than or equal to the argument and is equal to a mathematical integer.

`double copySign(double magnitude, double sign)`

Returns the first floating-point argument with the sign of the second floating-point argument.

`float copySign(float magnitude, float sign)`

Returns the first floating-point argument with the sign of the second floating-point argument.

`double cos(double a)`

Returns the trigonometric cosine of an angle.

`double cosh(double x)`

Returns the hyperbolic cosine of a double value.

`double exp(double a)`

Returns Euler's number e raised to the power of a double value.

`double expm1(double x)`

Returns ex -1.

`double floor(double a)`

Returns the largest (closest to positive infinity) double value that is less than or equal to the argument and is equal to a mathematical integer.

`int getExponent(double d)`

Returns the unbiased exponent used in the representation of a double.

`int getExponent(float f)`

Returns the unbiased exponent used in the representation of a float.

`double hypot(double x, double y)`

Returns sqrt(x2 +y2) without intermediate overflow or underflow.

`double IEEEremainder(double f1, double f2)`

Computes the remainder operation on two arguments as prescribed by the IEEE 754 standard.

`double log(double a)`

Returns the natural logarithm (base e) of a double value.

`double log10(double a)`

Returns the base 10 logarithm of a double value.

`double log1p(double x)`

Returns the natural logarithm of the sum of the argument and 1.

`double max(double a, double b)`

Returns the greater of two double values.

`float max(float a, float b)`

Returns the greater of two float values.

`int max(int a, int b)`

Returns the greater of two int values.

`long max(long a, long b)`

Returns the greater of two long values.

`double min(double a, double b)`

Returns the smaller of two double values.

`float min(float a, float b)`

Returns the smaller of two float values.

`int min(int a, int b)`

Returns the smaller of two int values.

`long min(long a, long b)`

Returns the smaller of two long values.

`double nextAfter(double start, double dir)`

Returns the floating-point number adjacent to the first argument in the direction of the second argument.

`float nextAfter(float start, double dir)`

Returns the floating-point number adjacent to the first argument in the direction of the second argument.

`double nextUp(double d)`

Returns the floating-point value adjacent to d in the direction of positive infinity.

`float nextUp(float f)`

Returns the floating-point value adjacent to f in the direction of positive infinity.

`double pow(double a, double b)`

Returns the value of the first argument raised to the power of the second argument.

`double random()`

Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0.

`double rint(double a)`

Returns the double value that is closest in value to the argument and is equal to a mathematical integer.

`long round(double a)`

Returns the closest long to the argument.

`int round(float a)`

Returns the closest int to the argument.

`double scalb(double d, int scaleFactor)`

Return d × 2scaleFactor rounded as if performed by a single correctly rounded floating-point multiply to a member of the double value set.

`float scalb(float f, int scaleFactor)`

Return f × 2scaleFactor rounded as if performed by a single correctly rounded floating-point multiply to a member of the float value set

`double signum(double d)`

Returns the signum function of the argument; zero if the argument is zero, 1.0 if the argument is greater than zero, -1.0 if the argument is less than zero.

`float signum(float f)`

Returns the signum function of the argument; zero if the argument is zero, 1.0f if the argument is greater than zero, -1.0f if the argument is less than zero.

`double sin(double a)`

Returns the trigonometric sine of an angle.

`double sinh(double x)`

Returns the hyperbolic sine of a double value.

`double sqrt(double a)`

Returns the correctly rounded positive square root of a double value.

`double tan(double a)`

Returns the trigonometric tangent of an angle.

`double tanh(double x)`

Returns the hyperbolic tangent of a double value.

`double toDegrees(double angrad)`

Converts an angle measured in radians to an approximately equivalent angle measured in degrees.

`double toRadians(double angdeg)`

Converts an angle measured in degrees to an approximately equivalent angle measured in radians.

`double ulp(double d)`

Returns the size of an ulp of the argument.

`float ulp(float f)`

Returns the size of an ulp of the argument.

`long factorial(int value)`

Returns the factorial of passed value.

### Samples

#### Simple computation

```return (((value() as double) / 3600000) * 60)
```

#### Rounding

```number = replace(value(), ',', '.') as double
return round(number)
```

Notice we must normalize input to be valid number by normalizing the decimal separator.

• No labels