Tap Forms has a special field type called Calculation.

For basic math, use the following operators:

Operator | Symbol |
---|---|

Add | `+` |

Subtract | `-` |

Multiply | `*` |

Divide | `/` |

The following mathematical expressions in the Calculation field formula editor are supported:

### Single parameter functions:

**SQR**: Square function which can be used as `SQR(X)`

**SIN**: Sinus function which can be used as `SIN(X)`

, X is a real-type expression. Sin returns the sine of the angle X in radians.

**COS**: Cosinus function which can be used as `COS(X)`

, X is a real-type expression. COS returns the cosine of the angle X in radians.

**ATAN**: ArcTangent function which can be used as `ATAN(X)`

**SINH**: Sinus Hyperbolic function which can be used as `SINH(X)`

**COSH**: Cosinus Hyperbolic function which can be used as `COSH(X)`

**COTAN**: which can be used as `COTAN(X)`

**TAN**: which can be used as `TAN(X)`

**EXP**: which can be used as `EXP(X)`

**LN**: natural log, which can be used as `LN(X)`

**LOG**: 10 based log, which can be used as `LOG(X)`

**SQRT**: which can be used as `SQRT(X)`

**ABS**: absolute value, which can be used as `ABS(X)`

**SIGN**: `SIGN(X)`

returns -1 if X<0; +1 if X>0, 0 if X=0; it can be used as `SQR(X)`

**TRUNC**: Discards the fractional part of a number. e.g. `TRUNC(-3.2)`

is -3, `TRUNC(3.2)`

is 3.

**CEIL**: `CEIL(-3.2) = 3`

, `CEIL(3.2) = 4`

**FLOOR**: `FLOOR(-3.2) = -4`

, `FLOOR(3.2) = 3`

### Two parameter functions:

**INTPOW**: The `INTPOW`

function raises Base to an integral power. `INTPOW(2, 3) = 8`

. Note that result of `INTPOW(2, 3.4) = 8`

as well.

**POW**: The Power function raises Base to any power. For fractional exponents or exponents greater than MaxInt, Base must be greater than 0.

**LOGN**: The `LogN`

function returns the log base N of X. Example: `LOGN(10, 100) = 2`

**MIN**: `MIN(2, 3)`

is 2.

**MAX**: `MAX(2, 3)`

is 3.

**IF**: The `IF(b, case1, case2)`

function provides branching capability. If b is not 0, then it returns case1, else it returns case2. Behavior is similar to C#’s: return b ? case1 : case2;

If `b==0`

then case1 will not be evaluated, and vice versa. Example: `IF(HEIGHT, 3/HEIGHT, 3)`

will make sure 3/HEIGHT does not cause division by zero.

### No parameter functions:

**RND**: `RND()`

function generates a random number `(double value)`

between 0 and 1.

### Multiple parameter functions:

**SUM**: `SUM(2,3,5,…)`

functions returns the sum of it’s arguments. There is no preset limit on the number of parameters.

### Text Concatenation

In addition to the above mathematical expressions, Tap Forms also supports text concatenation. With this feature, you can create Calculation fields which return a Text value instead of a Number value.

For example, you could create a Calculation field called **Full Name** (or whatever you want to call it) which has the following formula:

`First Name`

+ “ “ + `Last Name`

As long as you set the **Result Type** property on the Formula Editor to **Text**, then Tap Forms will evaluate the above formula and return the string with the First Name and Last Name fields joined together with a space character in between. It’s especially useful for creating labels. You can keep your First Name and Last Name fields as separate fields, but for printing labels, you would want them to be joined together into a Full Name field to make your labels look nicer.

Need more help with this?

Don’t hesitate to contact us here.