Ausdrucksauswerter
Berechnen Sie das Ergebnis eines Ausdrucks mit Ganzzahlen, Dezimalzahlen, numerischen Variablen, Zeichenfolgenvariablen für Zeichenfolgenvergleiche, arithmetischen und booleschen Operatoren oder einer Reihe von Funktionen.
Eigenschaften
Eigenschaft | Beschreibung |
---|---|
Ausdruck | Der zu berechnende Ausdruck. Der Ausdruck kann eine unbegrenzte Anzahl von korrekt geöffneten und geschlossenen Klammern enthalten. Wenn der Ausdruck nicht der korrekten Syntax folgt, führt der Konverter die Berechnung nicht durch. |
Modus | Die Richtung des dynamischen Links:
|
Quelle
Eine oder mehrere Variablen, identifiziert durch:
- {-Platzhalterindex_number}
- Progressive Ganzzahl gleich oder größer als Null. Zum Beispiel{1}
- {#-Platzhalterplaceholder_identifier}
- String mit vorangestelltem#. Zum Beispiel{#speed}
TIPP:
Verwenden Sie eine beliebige Kombination von Platzhaltern in beliebiger Reihenfolge. Verwenden Sie eine beliebige Anzahl von Platzhaltern in dem Ausdruck.
Literale
- Boolesch.
- Ganzzahlen.
- Dezimalzahlen, wobei das Dezimaltrennzeichen ein Punkt sein muss.
- Hexadezimale Zahlen mit dem Präfix0x.
- Text, z. B. eine Zeichenfolge, die durch doppelte Anführungszeichen begrenzt ist.TIPP: Doppelte Anführungszeichen, die zweimal wiederholt werden (""), werden als Escape-Sequenz interpretiert.
- Datum und Uhrzeit. Beispiel:2017-06-28T15:26:06.0790910.
Operatoren
Kategorie | Operator | Assoziativität | Kommentare |
---|---|---|---|
Unär | Unäres Minus: - Bitweise NICHT: ~ Cast-Operator: (type) | Von rechts nach links | Der Cast-Operator (type) gilt für alle numerischen Datentypen und nur für Boolesch. |
Multiplikativ | * ,/ , % | Von links nach rechts | |
Additiv | + , - | Von links nach rechts | |
Verschieben | << , >> | Von links nach rechts | Verschiebe- und Vergleichsoperatoren gelten für diese Datentypen:
|
Vergleich | < , <= , > , >= | Von links nach rechts | |
Gleichheit | == , != | Von links nach rechts | Gleichheitsoperatoren gelten für diese Datentypen:
|
Bitweises AND, XOR, OR | & , ^ , | | Von links nach rechts | |
Logisches UND | && | Von links nach rechts | |
Logisches OR | || | Von links nach rechts |
Datentypen
Datentypkonventionen im Ausdrucksauswerter:
- Literale Ganzzahlen sind Int32.
- Dezimale Literale sind Double.
- Numerische Werte werden als Int32 betrachtet.
- Die Literale Wahr und Falsch werden als Boolean interpretiert.
- Der /-Operator gibt immer einen Double-Wert zurück.
- Der %-Operator erzeugt eine Ausnahme, wenn eine Division durch Modulo Null stattfindet.
- Der %-Operator akzeptiert Float- und Double-Operanden.
- Alle Funktionen geben einen Double-Wert zurück, mit Ausnahme von sign, das einen Int32-Wert zurückgibt.
Der
type
der unären Cast-Operatoren kann diese Datentypen annehmen:- bool, Boolean
- sbyte, SByte
- short, Int16
- int, Int32
- long, Int64
- byte, Byte
- ushort, UInt16
- uint, UInt32
- ulong, UInt64
- float, Float
- double, Double
Operatoren, die auf bestimmte Datentypen angewendet werden:
Operator | Operand1 | Operand2 | Beschreibung |
---|---|---|---|
Plus | DateTime | Ganzzahl | Operand2 wird als Millisekunden interpretiert. |
Plus | Ganzzahl | DateTime | Operand1 wird als Millisekunden interpretiert. |
Plus | DateTime | TimeZone (Struct) | Operand2 wird als Minuten interpretiert (TimeZone.Offset). |
Plus | TimeZone (Struct) | DateTime | Operand1 wird als Minuten interpretiert (TimeZone.Offset). |
Plus | TimeZone | Ganzzahl | Operand1 wird als Minuten interpretiert (TimeZone.Offset).Operand2 wird als Minuten interpretiert. |
Plus | Ganzzahl | TimeZone | Operand1 wird als Minuten interpretiert.Operand2 wird als Minuten interpretiert (TimeZone.Offset). |
Minus | DateTime | Ganzzahl | Operand2 wird als Millisekunden interpretiert. |
Minus | DateTime | TimeZone (Struct) | Operand2 wird als Minuten interpretiert (TimeZone.Offset). |
Minus | TimeZone | Ganzzahl | Operand1 wird als Minuten interpretiert (TimeZone.Offset).Operand2 wird als Minuten interpretiert. |
Funktionen
Funktionen zur Verwendung im Ausdrucksauswerter:
Funktion | Syntax | Beschreibung | Rückgabe-Datentyp |
---|---|---|---|
max | max( value1 , value2 , value3 , ...) | Gibt den größten Wert zurück. | Double |
min | min( value1 , value2 , value3 , ...) | Gibt den niedrigsten Wert zurück. | Double |
avg | avg( value1 , value2 , value3 , ...) | Gibt den Durchschnitt der angegebenen Werte zurück. | Double |
abs | abs( value ) | Gibt den absoluten Wert der angegebenen Zahl zurück. | Double |
trunc | trunc( value ) | Gibt den Ganzzahl-Teil einer Dezimalzahl zurück. | Double |
ceil | ceil( value ) | Gibt den nächsten ganzzahligen Wert nach Aufrundung zurück. | Double |
floor | floor( value ) | Gibt den nächsten ganzzahligen Wert nach Abrundung zurück. | Double |
round | round( value ) | Gibt den Näherungswert auf die nächste Ganzzahl zurück. | Double |
sqrt | sqrt( value ) | Gibt die Quadratwurzel der angegebenen Zahl zurück. | Double |
sign | sign( value ) | Prüft, ob die angegebene Fließkommazahl negativ ist. Gibt 0 zurück, wenn wahr, oder 1 , wenn falsch. | Int32 |
like | like( string_value , pattern ) | Gibt wahr zurück, wenn der Parameter string_value mit dem Parameter pattern übereinstimmt. | Boolean |
isempty | isempty( variable ) | Prüft, ob eine gegebene NodeID, String, LocalizedText oder DataTime leer ist. | Boolean |
if | if( condition , value_if_true , value_if_false ) | Prüft, ob die Parameter value_if_true und value_if_false den gleichen Datentyp aufweisen. | value_if_true -Datentyp |
left_of | left_of(string, pattern) | Gibt den Teilstring links vom ersten Auftreten des Musters für den regulären Ausdruck zurück.
WICHTIG:
Verwenden Sie keine Platzhalter in Mustern.
| String |
right_of | right_of(string, pattern) | Gibt den Teilstring rechts vom ersten Auftreten des Musters des regulären Ausdrucks zurück.
WICHTIG:
Verwenden Sie keine Platzhalter in Mustern.
| String |
Output
Der resultierende Wert des Ausdrucks.
Beispiel
Rückmeldung geben