Évaluateur d’expression

Calculez le résultat d'une expression avec des entiers, des décimales, des variables numériques, des variables de chaîne pour comparer les chaînes, des opérateurs arithmétiques et booléens, ou un ensemble de fonctions.

Propriétés

Propriété
Description
Expression
Expression à calculer.
L'expression peut contenir un nombre illimité de parenthèses correctement ouvertes et fermées. Si la syntaxe de l'expression est incorrecte, le convertisseur n'exécute pas le calcul.
Mode
Direction du lien dynamique :
  • Lecture du nœud source au parent.
  • Écriture du parent au nœud source.
  • Lecture du nœud source au parent et écriture du parent au nœud source.

Source

Une ou plusieurs variables identifiées par un espace réservé avec un numéro d'index au format
{
index
}
suivant. Le numéro d'index est progressif et doit être un entier supérieur à zéro 
{0}
.
Les espaces réservés peuvent s'afficher dans n'importe quel ordre dans l'expression. Utilisez autant de parenthèses que vous voulez dans l’expression.

Litéraux

  • Boolean.
  • Entiers.
  • Décimales séparées par un point.
  • Nombres hexadécimaux avec le préfixe
    0x
    .
  • Texte tel qu'une chaîne délimitée par des guillemets doubles.
    CONSEIL: Les guillemets doubles répétés deux fois (
    ""
    ) sont interprétés comme une séquence d'échappement.
  • Date et heure. Par exemple,
    2017-06-28T15:26:06.0790910
    .

Opérateurs

Catégorie
Opérateur
Associativité
Commentaire
Unaire
Moins unaire :
-
NOT binaire :
~
Opérateur de conversion :
(type)
De droite à gauche
L’opérateur de conversion
(type)
ne s’applique qu’aux types de données numériques et Boolean.
Multiplicatif
*
,
/
,
%
De gauche à droite
Additif
+
,
-
De gauche à droite
Décaler
<<
,
>>
De gauche à droite
Les opérateurs de décalage et relationnels s’appliquent aux types de données suivants :
  • Numeric
  • DateTime
  • Duration
Relationnel
<
,
<=
,
>
,
>=
De gauche à droite
Égalité
==
,
!=
De gauche à droite
Les opérateurs Égalité s’appliquent aux types de données suivants :
  • Numeric
  • DateTime
  • Duration
  • String
  • LocalizedText
AND XOR, OR binaires
&
,
^
,
|
De gauche à droite
AND logique
&&
De gauche à droite
OR logique
||
De gauche à droite

Types de données

Conventions sur les types de données dans l’évaluateur d’expression :
  • Les entiers littéraux sont Int32.
  • Les littéraux décimaux sont Double.
  • Les valeurs numériques sont considérées comme Int32.
  • Les littéraux Vrai et Faux sont interprétés comme Boolean.
  • L'opérateur / renvoie toujours une valeur Double.
  • L'opérateur % génère une exception en cas de division par modulo zéro.
  • L'opérateur % accepte les opérandes Float et Double.
  • Toutes les fonctions renvoient une valeur Double à l'exception du signe, qui renvoie une valeur Int32.
Le
type
des opérateurs de conversion unaire peut être l’un des types de données suivants :
  • bool, Boolean
  • sbyte, SByte
  • short, Int16
  • int, Int32
  • long, Int64
  • byte, Byte
  • ushort, UInt16
  • uint, UInt32
  • ulong, UInt64
  • float, Float
  • double, Double
Opérateurs appliqués à des types de données spécifiques :
Opérateur
Operand1
Operand2
Description
Plus
DateTime
Nombre intégral
Operand2
est interprété en millisecondes.
Plus
Nombre intégral
DateTime
Operand1
est interprété en millisecondes.
Plus
DateTime
TimeZone (Struct)
Operand2
est interprété en minutes (TimeZone.Offset).
Plus
TimeZone (Struct)
DateTime
Operand1
est interprété en minutes (TimeZone.Offset).
Plus
TimeZone
Nombre intégral
Operand1
est interprété en minutes (TimeZone.Offset).
Operand2
est interprété en minutes.
Plus
Nombre intégral
TimeZone
Operand1
est interprété en minutes.
Operand2
est interprété en minutes (TimeZone.Offset).
Moins
DateTime
Nombre intégral
Operand2
est interprété en millisecondes.
Moins
DateTime
TimeZone (Struct)
Operand2
est interprété en minutes (TimeZone.Offset).
Moins
TimeZone
Nombre intégral
Operand1
est interprété en minutes (TimeZone.Offset).
Operand2
est interprété en minutes.

Fonctions

Fonctions à utiliser dans l’évaluateur d’expression :
Fonction
Syntaxe
Description
Afficher le type de données
max
max(
value1
,
value2
,
value3
, ...)
Affiche la valeur la plus élevée.
Double
min
min(
value1
,
value2
,
value3
, ...)
Affiche la valeur la plus basse.
Double
avg
avg(
value1
,
value2
,
value3
, ...)
Affiche la moyenne des valeurs données.
Double
abs
abs(
value
)
Affiche la valeur absolue du nombre donné.
Double
trunc
trunc(
value
)
Affiche la partie entière d'un nombre décimal.
Double
ceil
ceil(
value
)
Affiche la valeur approximative par excès.
Double
floor
floor(
value
)
Affiche la valeur approximative par défaut.
Double
round
round(
value
)
Affiche l’approximation à l’entier le plus proche.
Double
sqrt
sqrt(
value
)
Affiche la racine carrée du nombre donné.
Double
sign
sign(
value
)
Vérifie si le nombre à virgule flottante donné est négatif. Affiche
0
si vrai ou
1
si faux.
Int32
like
like(
string_value
,
pattern
)
Affiche
vrai
si le paramètre
string_value
correspond à la valeur
pattern
.
Boolean
isempty
isempty(
variable
)
Vérifie si un NodeID, String, LocalizedText ou DataTime donné est vide.
Boolean
if
if(
condition
,
value_if_true
,
value_if_false
)
Vérifie si les paramètres
value_if_true
et
value_if_false
ont le même type de données.
Type de données
value_if_true

Sortie

Valeur résultante de l'expression.

Exemple

Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.