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.

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.

Cet opérateur n'exécute pas une fonction de puissance dans FME. Pour calculer une valeur à une puissance, utilisez la fonction pow(x,y).

|

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.