Sumitgiri M. Goswami Ответов: 2

Как использовать формулу из текста метки для расчета


Я создавал форму для расчета веса товара


Я хранил формулу в базе данных в строковом формате.

При вычислении я взял эту формулу для обозначения в своей форме, и я беру значение от пользователя.

формула такова: "(val1-val2)*val2*0.00314*val3"

после принятия пользовательского ввода я должен был заменить значение val1, val2 & val3 на пользовательский ввод

так что в основном моя формула выглядит так "(51-5)*5*0.00314*4" при этом 51,5,4 - это пользовательские входы

и я храню эту формулу на этикетке

теперь я хочу использовать эту формулу для вычисления веса, поэтому я конвертирую значение метки в double.

Но он показывает мне ошибку "входная строка не находится в правильном формате."

Кто-нибудь может мне помочь.

Что я уже пробовал:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim bindformula As String = lblActualFormula.Text
       bindformula = bindformula.Replace("Val1", txtOd.Text)
       bindformula = bindformula.Replace("Val2", txtWT.Text)
       bindformula = bindformula.Replace("Val3", txtLength.Text)
       lblBindFormula.Text = bindformula
   End Sub


   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Dim val As Double = Double.Parse(lblBindFormula.Text)
       MsgBox(val.ToString())
   End Sub

2 Ответов

Рейтинг:
2

OriginalGriff

Вы не можете просто попытаться разобрать выражение на значение - это не работает так.
Вместо этого вам нужно правильно оценить его - на этом сайте есть несколько оценщиков: Крошечный Вычислитель Выражений[^] - это хороший вариант, и вы можете добавить его сборку в качестве ссылки на свой проект и вызвать его непосредственно из VB.


Maciej Los

5ed!

Рейтинг:
1