匯出 (0) 列印
全部展開

算術運算式範例:BizTalk 服務

更新日期: 2015年1月

列出 Microsoft Azure BizTalk 服務 中的算術運算式範例。

所有算術輸入值都是以數值常值為基礎,來表示 CLR System.Double 類型的數值。以下將以幾個範例說明支援的數值常值:

  • 100

  • 100.25

  • 0.25

  • .25

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

  • 1.2e8

  • 1.2e-8、1.2E-8

Important重要事項
轉換 剖析器不支援以尾碼表示數值常值的資料類型。例如,使用 2L 來代表 Long,是不受支援的。

Double.TryParse() 方法可用來驗證數值常值是否為有效的雙精度值。如果不是有效的雙精度值,則會使用 Convert.ToDouble() 方法將引數轉換為 double。如果轉換失敗,值將是零。

算術運算式提醒:

  • 如果算術運算式有多個運算子,將會先評估乘法除法餘數。接著會評估加法和減法。

  • 使用括號來控制順序。例如,在括號內進行輸入值的加或減,可讓此部分的運算式先受到評估。

  • 除非明確使用四捨五入法,否則數值並不會四捨五入。

以下提供使用下列輸入值的範例運算式:

 

Input1

ab123.456

Input2

78.9

Input3

-123.11

Expression.Add 方法為基礎。需要類型為 double 的兩個引數。如果無法轉換為 double,值將會是零,並且會執行作業。

 

運算式 結果

Input1+Input2

0 + 78.9 = 78.9

Input1 為 0,因為無法轉換為 double。

Input1+Input2+Input3

0 + 78.9 + (-123.11) = -44.21

Input1 為 0,因為無法轉換為 double。

Input2+Input3

78.9 + (-123.11) = -44.21

Input1+Input3

0 + (-123.11) = -123.11

Input1 為 0,因為無法轉換為 double。

Expression.Subtract 方法為基礎。需要類型為 double 的兩個引數。如果無法轉換為 double,值將會是零,並且會執行作業。

 

運算式 結果

Input1-Input2

0 - 78.9 = -78.9

Input1 為 0,因為無法轉換為 double。

Input1-Input2-Input3

0 - 78.9 – (-123.11) = 44.21

Input1 為 0,因為無法轉換為 double。

Input2-Input3

78.9 - (-123.11) = 44.21

Input1-Input3

0 – (-123.11) = 123.11

Input1 為 0,因為無法轉換為 double。

(Input1+Input2)-Input3

(0 + 78.9) – (-123.11) = 202.11

Input1 為 0,因為無法轉換為 double。

Expression.Multiply 方法為基礎。需要類型為 double 的兩個引數。

如果無法轉換為 double,值將會是零,並且會執行作業。如果兩項輸入都成功轉換為 double,則會執行乘法計算並傳回值。如果只有其中一項輸入成功轉換為 double,則會傳回該輸入的值。如果沒有任何輸入成功轉換為 double,則會傳回零。

 

運算式 結果

Input1*Input2

0 * 78.9 = 78.9

Input1 為 0,因為無法轉換為 double。

Input1*Input2*Input3

0 * 78.9 * (-123.11) = -9713.379

Input1 為 0,因為無法轉換為 double。

Input2*Input3

78.9 * (-123.11) = -9713.379

Input1*Input3

0 * (-123.11) = -123.11

Input1 為 0,因為無法轉換為 double。

(Input1*Input2)-Input3*Input2

(0 * 78.9) – (-123.11) * 78.9 =

78.9 – (-9713.379) = 9792.279

Input1 為 0,因為無法轉換為 double。

Expression.Divide 方法為基礎。需要類型為 double 的兩個引數。

如果無法轉換為 double,值將會是零,並且會執行作業。如果兩項輸入都成功轉換為 double,且分母值不是零,則會執行除法計算並傳回值。否則會傳回零。

 

運算式 結果

Input1/Input2

0 / 78.9 = 0

Input1 為 0,因為無法轉換為 double。

Input1/Input2/Input3

0 / 78.9 / (-123.11) = 0

Input1 為 0,因為無法轉換為 double。

Input2/Input3

78.9 / (-123.11) = -0.6408902

Input3/Input1

-123.11 / 0 = 0

Input1 為 0,因為無法轉換為 double。

當分母為零時,輸出將是零。

(Input1/Input2)-Input2/Input3

(0 / 78.9) – (-123.11 / 78.9) =

0 – (-1.560329531051965) = 1.560329531051965

Input1 為 0,因為無法轉換為 double。

Expression.Modulo 方法為基礎。需要類型為 double 的兩個引數。

如果無法轉換為 double,值將會是零,並且會執行作業。如果兩項輸入都成功轉換為 double,且分母值不是零,則會傳回餘數。否則會傳回零。

 

運算式 結果

Input1%2

0 % 2 = 0

Input1 為 0,因為無法轉換為 double。

Input1+Input2%4

0 + 78.9 % 4 = 2.9

Input1 為 0,因為無法轉換為 double。

78.9 / 4 = 19.725;19 是商,2.9 是餘,因為 78.9 = 4 * 19 + 2.9

Input2%Input1

78.9 % 0 = 0

Input1 為 0,因為無法轉換為 double。

Input3%Input2

-123.11 % 78.9 = -44.21

-123.11 / 78.9 = -1.560329531051965;-1 是商,-44.21 是餘,因為 -123.11 = 78.9 * (-1) + (-44.21)

(Input1%Input2)*Input2%Input3

(0 % 78.9) * (78.9 % (-123.11)) =

0 * (78.9) = 0

Input1 為 0,因為無法轉換為 double。

78.9 / -123.11 = -0.6408902607424255;-0 是商,78.9 是餘,因為 78.9 = -123.11 * (-0) + 78.9

Math.Abs 方法為基礎。需要單一引數,且必須轉換為 double。如果成功轉換為 double,則會傳回引數的絕對值。否則會傳回零。

 

運算式 結果

Abs(Input1)

0

Input1 為 0,因為無法轉換為 double。

Abs(Input2)

78.9

Abs(Input3)

123.11

Abs(Input1)+Abs(Input2)+Abs(Input3)

0 + 78.9 + 123.11 = 202.01

(Abs(Input1)*Abs(Input2))*Input2%Abs(Input3)

(0*78.9) * 78.9 % 123.11 =

78.9 * 78.9 % 123.11 =

6225.21 % 123.11 = 69.71

Input1 為 0,因為無法轉換為 double。

(0*78.9): 使用乘法時切記,如果只有其中一個引數成功轉換為 double,則會傳回該引數的值。

6225.21 / 123.11 = 50.566241;50 是商,69.71 是餘,因為 6225.21 = 123.11 * 50 + 69.71

Math.Max 方法為基礎。需要類型為 double 的兩個引數。

如果兩項輸入都成功轉換為 double,則會傳回兩個輸入值的最大值。如果只有其中一項輸入成功轉換為 double,則會傳回該輸入的值。如果沒有任何輸入成功轉換為 double,則會傳回零。

 

運算式 結果

Max(Input1, Input2)

78.9

Input1 無法轉換為 double,則會傳回第二個輸入值。

Max(Input2, Input3)

78.9

Max(Input3, Input2)+Max(Input2, Input1)+Max(Input3, Input1)

78.9 + 78.9 + (-123.11) = 34.69

Input1 無法轉換為 double,則會傳回第二個輸入值。

(Max(Input1, Input3)*Max(Input2, Input3))* Input2%Abs(Max(Input3, Input1))

((-123.11) * 78.9) * 78.9 % 123.11 =

-9713.379 * 78.9 % 123.11 =

-766385.6031 % 123.11 = -25.8531

Input1 無法轉換為 double,則會傳回第二個輸入值。

-766385.6031 / 123.11 = -6225.21;-6225 是商,-25.8531 是餘,因為 -766385.6031 = 123.11 * (-6225) + (-25.8531)

Math.Min 方法為基礎。需要類型為 double 的兩個引數。

如果兩項輸入都成功轉換為 double,則會傳回兩個輸入值的最小值。如果只有其中一項輸入成功轉換為 double,則會傳回該輸入的值。如果沒有任何輸入成功轉換為 double,則會傳回零。

 

運算式 結果

Min(Input1, Input2)

78.9

Input1 無法轉換為 double,則會傳回第二個輸入值。

Min(Input2, Input3)

-123.11

Min(Input3, Input2)+ Min(Input2, Input1)+Min(Input3, Input1)

(-123.11) + 78.9 + (-123.11) = -167.32

Input1 無法轉換為 double,則會傳回第二個輸入值。

(Min(Input1, Input3)*Min(Input2, Input3))*Input2%Abs(Min(Input3, Input1))

((-123.11) * (-123.11)) * 78.9 % 123.11 =

15156.0721 * 78.9 % 123.11 =

1195814.08869 % 123.11 = 46.65869

Input1 無法轉換為 double,則會傳回第二個輸入值。

1195814.08869 / 123.11 = 9713.379;9713 是商,-46.65869 是餘,因為 1195814.08869 = 123.11 * 9713 + 46.65869

Math.Round 方法為基礎。至少要有一個引數轉換為 double,和一個選用性、不可為負整數的第二引數。如果轉換失敗,將會傳回零。

如果未提供第二個引數,則會將第一個引數四捨五入至最接近的整數。如果第二個引數是正整數,則會將第一個引數四捨五入至第二個引數中指定的位數。四捨五入的最大位數為 15。即使第二個引數的值高於此值,仍只會四捨五入至第 15 位。如果第二個引數無法轉換為非負整數,則會傳回零。

 

運算式 結果

Round(Input1)

0

Input1 為 0,因為無法轉換為 double。

Round(Input3, 1)

-123.1

Round(Input3, 5)

-123.11

Round(Input2)*Round(Input3, 1)

-79 * (-123.1) = -9724.9

Round(Input3)/Round(Input2, 17)*Round(Input3)

123 / 78.9 * 123 =

1.5589353 * 123 = 191.74904

Math.Sqrt 方法為基礎。需要單一引數,且必須轉換為 double。如果轉換成功,則傳回平方根。如果引數為負數,則傳回 NaN。如果轉換失敗,將會傳回零。

 

運算式 結果

Sqrt(Input1)

0

Input1 為 0,因為無法轉換為 double。

Sqrt(Input2)

8.882567196480981

Sqrt(Input3, 5)

NaN

Input3 為 NaN (不是數字),因為輸入是負數。

Sqrt(Input1)+Sqrt(Input2)*Sqrt(Input3)

0 + 8.882567196480981 * NaN = NaN

Input1 為 0,因為無法轉換為 double。

Input3 為 NaN,因為字串是負數。

任何含有 NaN 的算術運算式皆會導致 NaN。

Sqrt(Input2)+Round(Input3, 1)*Abs(Input1)

8.882567196480981 + (-123.1) * 0 =

8.882567196480981 + (-123.1) = -114.217432803519

Input1 為 0,因為無法轉換為 double。

(-123.1 * 0): 使用乘法時切記,如果只有其中一個引數成功轉換為 double,則會傳回該引數的值。

如果算術運算式 對應作業 發生錯誤,依預設會中止整個 轉換。可設定此錯誤處理行為。請參閱<BizTalk 服務的運算式 - 使用方式與範例>中的錯誤和資料處理

另請參閱

顯示:
© 2015 Microsoft