Beispiele für arithmetische Ausdrücke: BizTalk Services

Letzte Aktualisierung: August 2015

Listet Beispiele arithmetischer Ausdrücke in Microsoft Azure BizTalk Services auf.

Alle arithmetischen Eingabewerte basieren auf numerischen Literalen, die numerische Werte vom Typ CLR System.Double darstellen. Die folgenden Beispiele veranschaulichen die unterstützten numerischen Literale:

  • 100

  • 100,25

  • 0,25

  • ,25

  • 8e2, 8e+2, 8E2, 8E+2

  • 1,2e8

  • 1,2e-8, 1,2E-8

ImportantWichtig
Der Transformation-Parser unterstützt keine Suffixe, die den Datentyp eines numerischen Literals angeben. 2L darf z. B. nicht für die Darstellung einer Long-Zahl verwendet werden.

Die Methode Double.TryParse() prüft, ob ein numerischer Literalwert ein gültiger Double-Wert ist. Wenn es sich nicht um einen gültigen Double-Wert handelt, wird das Argument mit der Methode Convert.ToDouble() in einen Double-Wert konvertiert. Wenn die Konvertierung fehlschlägt, ist der Wert null.

Hinweise zu arithmetischen Ausdrücken:

  • Wenn ein arithmetischer Ausdruck mehr als einen Operator hat, werden Multiplikation, Division und Modulo zuerst ausgewertet. Anschließen werden Addition und Subtraktion ausgewertet.

  • Verwenden Sie Klammern zur Steuerung der Reihenfolge. Addition oder Subtraktion von Eingabewerten können z. B. in Klammern gesetzt werden, um diesen Teil des Ausdrucks zuerst auszuwerten.

  • Numerische Werte werden nur gerundet, wenn dies mit "Round" explizit angegeben ist.

Die folgenden Beispielausdrücke verwenden die folgenden Eingabewerte:

 

Eingabe1

ab123,456

Eingabe2

78,9

Eingabe3

-123,11

Basierend auf der Expression.Add-Methode. Erfordert zwei Argumente vom Typ Double. Wenn die Konvertierung nach Double fehlschlägt, ist der Wert null, und die Operation wird ausgeführt.

 

Ausdruck Ergebnis

Eingabe1+Eingabe2

0 + 78,9 = 78,9

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe1+Eingabe2+Eingabe3

0 + 78,9 + (-123,11) = -44,21

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe2+Eingabe3

78,9 + (-123,11) = -44,21

Eingabe1+Eingabe3

0 + (-123,11) = -123,11

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Basierend auf der Expression.Subtract-Methode. Erfordert zwei Argumente vom Typ Double. Wenn die Konvertierung nach Double fehlschlägt, ist der Wert null, und die Operation wird ausgeführt.

 

Ausdruck Ergebnis

Eingabe1-Eingabe2

0 – 78,9 = -78,9

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe1-Eingabe2-Eingabe3

0 – 78,9 – (-123,11) = 44,21

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe2-Eingabe3

78,9 – (-123,11) = 44,21

Eingabe1-Eingabe3

0 – (-123,11) = 123,11

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

(Eingabe1+Eingabe2)-Eingabe3

(0 + 78,9) – (-123,11) = 202,11

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Basierend auf der Expression.Multiply-Methode. Erfordert zwei Argumente vom Typ Double.

Wenn die Konvertierung nach Double fehlschlägt, ist der Wert null, und die Operation wird ausgeführt. Wenn beide Eingaben erfolgreich nach Double konvertiert werden, wird die Multiplikation ausgeführt und der Wert zurückgegeben. Wenn nur eine der Eingaben erfolgreich nach Double konvertiert wird, dann wird dieser Wert zurückgegeben. Wenn keine der Eingaben erfolgreich nach Double konvertiert wird, dann wird Null zurückgegeben.

 

Ausdruck Ergebnis

Eingabe1*Eingabe2

0 * 78,9 = 78,9

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe1*Eingabe2*Eingabe3

0 * 78,9 * (-123,11) = -9713,379

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe2*Eingabe3

78,9 * (-123,11) = -9713,379

Eingabe1*Eingabe3

0 * (-123,11) = -123,11

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

(Eingabe1*Eingabe2)-Eingabe3*Eingabe2

(0 * 78,9) – (-123,11) * 78,9 =

78,9 – (-9713,379) = 9792,279

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Basierend auf der Expression.Divide-Methode. Erfordert zwei Argumente vom Typ Double.

Wenn die Konvertierung nach Double fehlschlägt, ist der Wert null, und die Operation wird ausgeführt. Wenn beide Eingaben erfolgreich nach Double konvertiert werden und der Nenner ungleich Null ist, wird die Division ausgeführt und der Wert zurückgegeben. Andernfalls wird Null zurückgegeben.

 

Ausdruck Ergebnis

Eingabe1/Eingabe2

0 / 78,9 = 0

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe1/Eingabe2/Eingabe3

0 / 78,9 / (-123,11) = 0

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe2/Eingabe3

78,9 / (-123,11) = -0,6408902

Eingabe3/Eingabe1

-123,11 / 0 = 0

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Wenn der Nenner Null ist, dann ist die Ausgabe ebenfalls Null.

(Eingabe1/Eingabe2)-Eingabe2/Eingabe3

(0 / 78,9) – (-123,11 / 78,9) =

0 – (-1,560329531051965) = 1,560329531051965

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Basierend auf der Expression.Modulo-Methode. Erfordert zwei Argumente vom Typ Double.

Wenn die Konvertierung nach Double fehlschlägt, ist der Wert null, und die Operation wird ausgeführt. Wenn beide Eingaben erfolgreich nach Double konvertiert werden und der Nenner ungleich Null ist, wird der Rest zurückgegeben. Andernfalls wird Null zurückgegeben.

 

Ausdruck Ergebnis

Eingabe1%2

0 % 2 = 0

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe1+Eingabe2%4

0 + 78,9 % 4 = 2,9

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

78,9 / 4 = 19,725; 19 ist der Quotient und 2,9 ist der Rest, da 78,9 = 4 * 19 + 2,9

Eingabe2%Eingabe1

78,9 % 0 = 0

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe3%Eingabe2

-123,11 % 78,9 = -44,21

-123,11 / 78,9 = -1,560329531051965; -1 ist der Quotient und -44,21 ist der Rest, da -123,11 = 78,9 * (-1) + (-44,21)

(Eingabe1%Eingabe2)*Eingabe2%Eingabe3

(0 % 78,9) * (78,9 % (-123,11)) =

0 * (78,9) = 0

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

78,9 / -123,11 = -0,6408902607424255; -0 ist der Quotient und 78,9 ist der Rest, da 78,9 = -123,11 * (-0) + 78,9

Basierend auf der Math.Abs-Methode. Nimmt ein einzelnes Argument entgegen und konvertiert dieses nach Double. Wenn das Argument erfolgreich nach Double konvertiert wird, wird der absolute Wert des Arguments zurückgegeben. Andernfalls wird Null zurückgegeben.

 

Ausdruck Ergebnis

Abs(Eingabe1)

0

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Abs(Eingabe2)

78,9

Abs(Eingabe3)

123,11

Abs(Eingabe1)+Abs(Eingabe2)+Abs(Eingabe3)

0 + 78,9 + 123,11 = 202,01

(Abs(Eingabe1)*Abs(Eingabe2))*Eingabe2%Abs(Eingabe3)

(0*78,9) * 78,9 % 123,11 =

78,9 * 78,9 % 123,11 =

6225,21 % 123,11 = 69,71

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

(0*78,9): Beachten Sie, dass bei der Multiplikation nur der Wert eines Arguments zurückgegeben wird, wenn nur eine der Eingaben erfolgreich nach Double konvertiert wird.

6225.21 / 123.11 = 50.566241; 50 ist der Quotient und 69.71 ist der Rest, da 6225.21 = 123.11 * 50 + 69.71

Basierend auf der Math.Max-Methode. Erfordert zwei Argumente vom Typ Double.

Wenn beide Eingaben erfolgreich nach Double konvertiert werden, wird der höhere der beiden Eingabewerte zurückgegeben. Wenn nur eine der Eingaben erfolgreich nach Double konvertiert wird, dann wird dieser Wert zurückgegeben. Wenn keine der Eingaben erfolgreich nach Double konvertiert wird, dann wird Null zurückgegeben.

 

Ausdruck Ergebnis

Max(Eingabe1, Eingabe2)

78,9

Eingabe1 kann nicht nach Double konvertiert werden, daher wird der zweite Eingabewert zurückgegeben.

Max(Eingabe2, Eingabe3)

78,9

Max(Eingabe3, Eingabe2)+Max(Eingabe2, Eingabe1)+Max(Eingabe3, Eingabe1)

78,9 + 78,9 + (-123,11) = 34,69

Eingabe1 kann nicht nach Double konvertiert werden, daher wird der zweite Eingabewert zurückgegeben.

(Max(Eingabe1, Eingabe3)*Max(Eingabe2, Eingabe3))* Eingabe2%Abs(Max(Eingabe3, Eingabe1))

((-123,11) * 78,9) * 78,9 % 123,11 =

-9713,379 * 78,9 % 123,11 =

-766385,6031 % 123,11 = -25,8531

Eingabe1 kann nicht nach Double konvertiert werden, daher wird der zweite Eingabewert zurückgegeben.

-766385.6031 / 123.11 = -6225.21; -6225 ist der Quotient und -25.8531 ist der Rest, da -766385.6031 = 123.11 * (-6225) + (-25.8531)

Basierend auf der Math.Min-Methode. Erfordert zwei Argumente vom Typ Double.

Wenn beide Eingaben erfolgreich nach Double konvertiert werden, wird der niedrigere der beiden Eingabewerte zurückgegeben. Wenn nur eine der Eingaben erfolgreich nach Double konvertiert wird, dann wird dieser Wert zurückgegeben. Wenn keine der Eingaben erfolgreich nach Double konvertiert wird, dann wird Null zurückgegeben.

 

Ausdruck Ergebnis

Min(Eingabe1, Eingabe2)

78,9

Eingabe1 kann nicht nach Double konvertiert werden, daher wird der zweite Eingabewert zurückgegeben.

Min(Eingabe2, Eingabe3)

-123,11

Min(Eingabe3, Eingabe2)+Min(Eingabe2, Eingabe1)+Min(Eingabe3, Eingabe1)

(-123,11) + 78,9 + (-123,11) = -167,32

Eingabe1 kann nicht nach Double konvertiert werden, daher wird der zweite Eingabewert zurückgegeben.

(Min(Eingabe1, Eingabe3)*Min(Eingabe2, Eingabe3))* Eingabe2%Abs(Min(Eingabe3, Eingabe1))

((-123,11) * (-123,11)) * 78,9 % 123,11 =

15156,0721 * 78,9 % 123,11 =

1195814,08869 % 123,11 = 46,65869

Eingabe1 kann nicht nach Double konvertiert werden, daher wird der zweite Eingabewert zurückgegeben.

1195814.08869 / 123.11 = 9713.379; 9713 ist der Quotient und -46.65869 ist der Rest, da 1195814.08869 = 123.11 * 9713 + 46.65869

Basierend auf der Math.Round-Methode. Erfordert mindestens ein Argument, das nach Double konvertiert wird, sowie ein optionales zweites Argument, das eine nicht negative Ganzzahl sein muss. Wenn die Konvertierung fehlschlägt, wird Null zurückgegeben.

Wenn das zweite Argument nicht angegeben ist, dann wird das erste Argument auf die nächstgelegene Ganzzahl gerundet. Wenn das zweite Argument eine positive Ganzzahl ist, dann wird das erste Argument auf die im zweiten Argument angegebene Anzahl von Nachkommastellen gerundet. Die maximale Anzahl an Ziffern zum Runden beträgt 15. Höhere Werte für das zweite Argument haben weiterhin die Rundung auf 15 Stellen zur Folge. Wenn das zweite Argument nicht in eine nicht negative Ganzzahl konvertiert werden kann, wird Null zurückgegeben.

 

Ausdruck Ergebnis

Round(Eingabe1)

0

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Round(Eingabe3, 1)

-123,1

Round(Eingabe3, 5)

-123,11

Round(Eingabe2)*Round(Eingabe3, 1)

-79 * (-123,1) = -9724,9

Round(Eingabe3)/Round(Eingabe2, 17)*Round(Eingabe3)

123 / 78,9 * 123 =

1,5589353 * 123 = 191,74904

Basierend auf der Math.Sqrt-Methode. Nimmt ein einzelnes Argument entgegen und konvertiert dieses nach Double. Wenn die Konvertierung erfolgreich ist, wird die Quadratwurzel zurückgegeben. Wenn das Argument eine negative Zahl ist, wird NaN zurückgegeben. Wenn die Konvertierung fehlschlägt, wird Null zurückgegeben.

 

Ausdruck Ergebnis

Sqrt(Eingabe1)

0

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Sqrt(Eingabe2)

8,882567196480981

Sqrt(Eingabe3, 5)

NaN

Eingabe3 ist NaN (nicht numerisch, "Not a Number"), da die Eingabe negativ ist.

Sqrt(Eingabe1)+Sqrt(Eingabe2)+Sqrt(Eingabe3)

0 + 8,882567196480981 * NaN = NaN

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

Eingabe3 ist NaN, da die Zeichenfolge eine negative Zahl ist.

Jede arithmetische Operation mit NaN hat das Ergebnis NaN.

Sqrt(Eingabe2)+Round(Eingabe3, 1)*Abs(Eingabe1)

8,882567196480981 + (-123,1) * 0 =

8,882567196480981 + (-123,1) = -114,217432803519

Eingabe1 ist 0, da die Konvertierung nach Double fehlschlägt.

(-123,1 * 0): Beachten Sie, dass bei der Multiplikation nur der Wert eines Arguments zurückgegeben wird, wenn nur eine der Eingaben erfolgreich nach Double konvertiert wird.

Wenn bei einem arithmetischen Ausdruck Zuordnungsvorgang ein Fehler auftritt, dann wird standardmäßig die gesamte Transformation abgebrochen. Dieses Verhalten bei der Fehlerbehandlung ist konfigurierbar. Weitere Informationen finden Sie in Fehlerbehandlung und Verarbeitung von Daten unter Ausdrücke in BizTalk Services - Verwendung und Beispiele.

Siehe auch

Anzeigen: