Opérateurs mathématiques
Les opérateurs énumérés ci-dessous sont regroupés par ordre décroissant de préséance. Si l'un des opérandes est nul, manquant, ou la chaîne vide, ou si l'expression n'est pas valide, l'expression retournera null, avec l'attribut de liste fme_expression_warnings ajouté. Si les valeurs de résultat peuvent être converties sans perte en valeurs entières, cette conversion est effectuée. Sinon, les valeurs de résultat sont laissées en double précision.
Notez que lorsque vous utilisez les opérateurs mathématiques, si un null est rencontré, null sera retourné. Pour gérer correctement les null, utilisez les fonctions mathématiques plutôt que les opérateurs. Par exemple, si l'attribut nullAttr a une valeur nulle, 1+@Value(nullAttr) renverra null mais @add(1, @Value(nullAttr)) renverra 1.
Fonction | Description |
---|---|
- + ~ ! |
Moins unaire, plus unaire, NON binaire, NON logique. Aucun de ces opérandes ne peut être appliqué à des opérandes chaîne de caractères, le NON binaire ne peut être appliqué qu'à des entiers. |
** |
Exponentiation. Uniquement valide avec les opérandes de type entier. |
* / % |
Multiplier, diviser, reste. Toutes les expressions impliquant l'opérateur / donneront une valeur en virgule flottante. Par exemple, 1/2 = 0,5. L'expression 1/0retourne un infini. L'opérateur % ne peut être appliqué qu'aux nombres entiers. Le reste a le même signe que le diviseur (dénominateur) et une valeur absolue plus petite que le diviseur. |
+ - |
Ajoute et soustrait. |
<< >> |
Tabulation à droite et à gauche. Uniquement valide avec les opérandes de type entier. |
< > <= >= |
Opérateurs booléens : inférieur, supérieur, inférieur ou égal, supérieur ou égal. Chaque opérateur produit 1 si la condition est vraie, et 0 si la condition est fausse. Ces opérateurs peuvent être appliqués à des opérandes de type chaîne de caractères, auquel cas la comparaison de chaînes de caractères est utilisée. |
== != |
Opérateurs booléens : égale ou pas égale Chaque opérateur produit 1 si la condition est vraie, et 0 si la condition est fausse. Note: Si utilisé avec des opérandes de chaînes de caractères, utiliser des { et } pour protéger les chaînes de caractères. |
& |
ET binaire. Uniquement valide avec les opérandes de type entier. |
^ |
OU exclusif binaire. Uniquement valide avec les opérandes de type entier. |
| |
OU binaire. Uniquement valide avec les opérandes de type entier. |
&& |
ET logique. Produit 1 si la condition est vraie, et 0 si la condition est fausse. |
|| |
OU logique Produit 1 si la condition est vraie, et 0 si la condition est fausse. |
? : (x?y:z) |
Si-sinon-si comme dans C. Exemple : true ? 1 : 0 Si x est différent de zéro, alors le résultat est la valeur de y, et si x égale zéro, le résultat est la valeur de z. |
Consultez le manuel expressions Tcl pour plus de détails sur les résultats produits par chaque opérateur. Tous les opérateurs binaires se regroupent de gauche à droite dans le même niveau de précédence. Par exemple, l'expression :
4*2 < 7
retourne 0.