Dans leur forme leur plus simple, les expressions FormCalc sont des groupes d’opérateurs, mots-clés et littéraux assemblés de façon logique. Voici des exemples d’expressions simples :
2
“abc”
2 – 3 * 10 / 2 + 7
Chaque expression FormCalc renvoie une seule valeur, après exécution des opérations dans l’ordre traditionnel, même si cet ordre n’est pas toujours évident à déterminer d’après la syntaxe de l’expression. Ainsi, les ensembles d’expressions suivants, lorsqu’on les applique à des objets de conception de formulaire, produisent les mêmes résultats :
1 (vrai)
0 (faux)
Comme le suggère le tableau précédent, tous les opérateurs FormCalc possèdent un certain niveau de priorité lorsqu’ils apparaissent dans des expressions. Le tableau suivant illustre la hiérarchie des opérateurs :
=
Dans le cas où une ou plusieurs opérandes d’une opération ne correspondent pas au type prévu pour cette opération, FormCalc promeut les opérandes pour qu’elles correspondent au type requis. La façon dont se fait cette promotion dépend du type d’opérande exigé par l’opération.
Lorsque des opérandes non numériques se retrouvent dans des opérations numériques, elles sont d’abord promues à leur équivalent numérique. Si l’opérande non numérique n’est pas convertie correctement en valeur numérique, sa valeur devient zéro (0). La promotion d’opérandes dont la valeur est nulle en nombres donne toujours la valeur zéro.
1
8
Lorsque des opérandes non booléennes se retrouvent dans des opérations booléennes, elles sont d’abord promues à leur équivalent booléen. Si l’opérande non booléenne n’est pas convertie correctement en une valeur différente de zéro, sa valeur est Vrai (1) ; sinon, sa valeur est Faux (0). La promotion d’opérandes dont la valeur est nulle en valeur booléenne donne toujours la valeur Faux (0). Par exemple, l’expression :
“abc” | 2
renvoie 1. Autrement dit, Faux | Vrai = Vrai, alors que
if (“abc”) then
10
else
20
endif
Lorsque des opérandes non chaînes se retrouvent dans des opérations de chaîne, elles sont d’abord promues en chaînes tirées de leur valeur. La promotion d’opérandes dont la valeur est nulle en chaînes donne toujours la chaîne vide. Par exemple, l’expression :
concat(“The total is “, 2, ” dollars and “, 57, ” cents.”)
renvoie “The total is 2 dollars and 57 cents.”
Remarque : 
si durant l’évaluation d’une expression, une étape intermédiaire génère NaN, +Inf ou -Inf, FormCalc génère une exception d’erreur et propage cette erreur dans le reste de l’expression. La valeur de l’expression est alors toujours 0. Par exemple :

3 / 0 + 1

renvoie 0.

Simple