簡體   English   中英

在 Canvas 應用程序中求解數學方程(字符串)

[英]Solve Math Equation(string) in Canvas App

我有一個需要計算的動態公式。

這是一個示例 (var1 * var2) / (var3 * (23 * 100))

這些變量將替換為實際數字,因為它們是用戶輸入。 目前,我正在使用連接到我的 web API 的電源自動化流程來進行任何計算並解決它。 然后發回結果。 我在 API 上使用 NCalc 和/或 DataTable。

我希望做的是在任何控件中傳遞計算,例如 label 或文本。 如果將 1+1 放在 Label 控件的 Text 屬性中。 它會立即顯示數字 2,但由於我正在傳遞字符串,所以它不起作用。 我可以使用像這樣的值(“100”*“300”),只要我們堅持使用數學運算符,它就可以工作,但是當我們有這樣的開括號和閉括號時會失敗(21 * 100)/(0.43 *( 23 * 100))

如果您有解決方法,我將不勝感激。 先感謝您。

您可以在不使用 Power Automate 的情況下處理所有帶有變量的計算。

例子:

創建一個 TextInput 並在 'onChange' function 中插入

Set(var1;Value(TextInput1.Text))

創建第二個 TextInput 並在 'onChange' function 中插入

Set(var2;Value(TextInput2.Text))

創建 Label 並在文本 function 中插入

var1 + var2

每次更改 TextInput 字段中的值時,Label 都會更新。

這只是一個簡單的例子。 隨函附上我的一個計算,它寫在一個文本字段的文本屬性中,包括括號:

Round((var_Moment - (var_FuelArm * Slider_Fuel.Value)) / (var_GM -Slider_Fuel.Value );0) & " mm"

它不僅適用於變量,還適用於其他控件的表達式。

因為您正在傳遞字符串,所以您必須將它們轉換為值並將它們分配給變量。

Set(var1;Value(your String Value))

這就是重點,我試圖在我的第一個答案中強調。

這是一個希望對您有用的解決方案,它使用免費的mathjs API來執行計算。 PowerApps通過按鈕觸發器將用戶輸入發送到PowerAutomate流。

應用程序演示: 在此處輸入圖像描述

PowerAutomate 流程步驟:

  1. PowerApps 觸發器
  2. 初始化變量 -> 值:“在 PowerApps 中詢問”
  3. HTTP
  4. 響應 PowerApp 或流 -> 值:body('HTTP')['Body']

在此處輸入圖像描述

PowerApps Button屬性OnSelect創建一個變量並以用戶輸入作為參數觸發流以接收響應:

UpdateContext({ var_Result: PowerAppsHTTPRequestCalculation.Run(tb_Input.Text).result})

PowerApps Text Label屬性Text顯示結果值:

var_Result

我最終通過使用 PCF 控件解決了這個問題,因為它可以使用 JavaScript,所以我可以簡單地使用 eval function 並解決你拋出的任何方程。

更多信息在這里: https://docs.microsoft.com/en-us/powerapps/developer/component-framework/create-custom-controls-using-pcf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM