Expression evaluator

Valutatore di espressioni

Calcolare il risultato di un'espressione con numeri interi e decimali, variabili di tipo numerico, variabili di tipo stringa (solo per confronti tra stringhe), operatori aritmetici e booleani e un insieme di funzioni.

Proprietà

Proprietà
Descrizione
Espressione
L'espressione da calcolare.
L'espressione può contenere un numero illimitato di parentesi, aperte e chiuse correttamente. Se l'espressione non segue la sintassi corretta, il convertitore non eseguirà il calcolo.
Modalità
La direzione del collegamento dinamico:
  • Lettura dal nodo sorgente all'elemento padre.
  • Scrittura dall'elemento padre al nodo sorgente.
  • Lettura dal nodo sorgente all'elemento padre e scrittura dall'elemento padre al nodo sorgente.

Sorgente

Una o più variabili, identificate da un segnaposto con un numero di indice nel formato seguente {index}. Il numero dell'indice è progressivo, deve essere un numero intero maggiore di zero {0}.
I segnaposto possono essere visualizzati in qualsiasi ordine dell'espressione.

Valori letterali ammessi

  • Valori booleani True e False.
  • Numeri interi.
  • Numeri decimali, con il punto come separatore.
  • Numeri esadecimali con il prefisso "0x".
  • Testo, ad esempio una stringa delimitata da virgolette doppie.
    MANCIA: Due virgolette doppie (
    ""
    ) vengono interpretate come sequenza di escape.

Operatori validi

  • Aritmetica:
    +
    ,
    -
    ,
    *
    ,
    /
    ,
    %
    , e l'operatore unario
    -
  • Bit per bit:
    &
    ,
    |
    ,
    ^
    ,
    ~
  • Di sfalsamento bit:
    <<
    ,
    >>
  • Logici:
    &&
    ,
    ||
    ,
    !
  • Unario di casting di tipo
    (<data_type>)
  • Confronto
    <
    ,
    <=
    ,
    >
    ,
    >=
    ,
    ==
    ,
    !=
    NOTA:
    Gli operatori di confronto si applicano a:
    • Dati numerici
    • Dati DateTime
    • Dati di durata
    Gli operatori:
    ==
    e
    !=
    vengono applicati ai tipi di dati String e LocalizedText.

Convenzioni sui tipi di dati

  • I numeri interi letterali sono
    Int32
    .
  • I valori decimali letterali sono
    Double
    .
  • I valori numerici sono considerati
    Int32
    .
  • I valori letterali True e False vengono interpretati come
    Boolean
    .
  • L'operatore / restituisce sempre un valore
    Double
    .
  • L'operatore % genera un'eccezione in caso di divisione per modulo zero.
  • L'operatore % accetta operandi di tipo
    Float
    e
    Double
    .
  • Tutte le funzioni restituiscono un valore
    Double
    , eccetto la funzione Sign, che restituisce un valore
    Int32
    .
  • L'operatore unario di casting accetta i tipi di dati:
    • bool, Boolean
    • sbyte, SByte
    • short, Int16
    • int, Int32
    • long, Int64
    • byte, Byte
    • ushort, UInt16
    • uint, UInt32
    • ulong, UInt64
    • float, Single
    • double, Double

Funzioni disponibili

Sono disponibili le seguenti funzioni matematiche:
Funzione
Valore calcolato
Esempio
max
Massimo tra due valori.
max ({0}, {1})
min
Minimo tra due valori.
min ({0}, {1})
avg
Media dei valori indicati.
avg ({0}, {1})
abs
Valore assoluto.
abs ({0})
trunc
Parte intera di un numero decimale.
trunc ({0})
ceil
Valore approssimato per eccesso.
ceil (({0} + {1})/2)
floor
Valore approssimato per difetto.
floor (({0} + {1})/2)
round
Approssimazione al numero intero più vicino.
round (({0} + {1})/2)
sqrt
Radice quadrata.
sqrt ({1})
sign
0
se il valore dell'argomento è maggiore di zero.
1
se il valore dell'argomento è minore di zero.
sign ({1})

Output

Il valore risultante dall'espressione.

Rappresentazione logica

Esempio di conversione logica nell'
Editor dei collegamenti dinamici avanzati:
Fornire un feedback
Hai domande o feedback su questa documentazione? invia il tuo feedback qui.