É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 :
|
Source
Une ou plusieurs variables identifiées par :
- Espace réservé{index_number}
- Entier progressif égal ou supérieur à zéro. Par exemple,{1}
- Espace réservé{#placeholder_identifier}
- Chaîne avec le préfixe#. Par exemple,{#speed}
CONSEIL:
Utilisez des combinaisons d’espaces réservés dans n’importe quel ordre. Utilisez autant d’espaces réservés que vous voulez dans l’expression.
Litéraux
- Boolean.
- Entiers.
- Décimales séparées par un point.
- Nombres hexadécimaux avec le préfixe0x.
- 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 :
|
Relationnel | < , <= , > , >= | De gauche à droite | |
Égalité | == , != | De gauche à droite | Les opérateurs Égalité s’appliquent aux types de données suivants :
|
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 |
left_of | left_of(string, pattern) | Renvoie la sous-chaîne située à gauche de la première occurrence du motif d’expression régulière.
IMPORTANT:
N’utilisez pas de caractères génériques dans les motifs.
| Chaîne |
right_of | right_of(string, pattern) | Renvoie la sous-chaîne située à droite de la première occurrence du motif d’expression régulière.
IMPORTANT:
N’utilisez pas de caractères génériques dans les motifs.
| Chaîne |
Sortie
Valeur résultante de l'expression.
Exemple

Fournir une réponse