[英]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 流程步驟:
PowerApps Button
屬性OnSelect
創建一個變量並以用戶輸入作為參數觸發流以接收響應:
UpdateContext({ var_Result: PowerAppsHTTPRequestCalculation.Run(tb_Input.Text).result})
PowerApps Text Label
屬性Text
顯示結果值:
var_Result
我最終通過使用 PCF 控件解決了這個問題,因為它可以使用 JavaScript,所以我可以簡單地使用 eval function 並解決你拋出的任何方程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.