Considérons la formule suivante qui consiste à rendre positif tout nombre en le multipliant par le résultat de sign():
prop("Nombre").multiply(prop("Nombre").sign())
sign() renvoie une valeur en fonction du nombre tel que ci-dessous :
| Nombre | Sign() |
|---|---|
| Zéro | 0 |
| Positif | 1 |
| Négatif | -1 |
| Sans valeur | nul (vide) |
Voici les résultats de la formule appelée Sans variable : on constate que le résultat est nul (sans valeur) lorsque le nombre n’est pas précisé.
J’emploie ici volontairement le terme nul et non pas null car même si on ne voit rien, l’éditeur de formule précise que le résultat est de type Nombre lorsqu’on provoque une erreur en rajoutant par exemple .at(0). Le type semble donc bien défini.
Considérons maintenant la formule appelée Avec variable dans laquelle le résultat de sign() est placé dans la variable signe avant d’être utilisé comme multiplicateur.
let(
signe , prop("Nombre").sign(),
prop("Nombre").multiply(signe))
Le résultat final est différent. Nous obtenons un zéro.
Lorsque Nombre n’est pas renseigné, la valeur de sign() est nul. Le résultat de la multiplication vaut alors zéro, sauf avec la première formule “Sans variable”.