PDA

View Full Version : تبدیل یک فرمول رشته ای به عدد



helpsos
چهارشنبه 31 اردیبهشت 1393, 10:54 صبح
با سلام
فرض کنید که من فرمول زیر را دارم:
string f = "A=(C*D)+(L*K)*B";
حالا با جایگداری رشته ها میام و فرمول را تبدیل می کنم به :
f = "A=(10*12)+(14*15)*13";
حالا چطوری می توانم حاصل این فرمول را به دست آورم؟:متفکر:

با تشکر

Saeed-CANcel
چهارشنبه 31 اردیبهشت 1393, 10:57 صبح
int32.parse("string")


convert.toint32("string")

helpsos
چهارشنبه 31 اردیبهشت 1393, 11:15 صبح
ممنون ولی
با خطای "Input string was not in a correct format." باید چیکار کرد که میگه پرانتز و عملگرها عدد نیستند؟:متفکر:

aliagamon
چهارشنبه 31 اردیبهشت 1393, 11:32 صبح
پارامتری کن استرینگتو :

string f =string.Format( "A=({0}*{1})+({2}*{3})*{4}",10,12,14,15,13);
MessageBox.Show(f);

helpsos
چهارشنبه 31 اردیبهشت 1393, 11:46 صبح
ذوستان ممنون از رهنمایی هاتون ولی
جواب این فرمول را چطوری بدست بیارم چون رشته است و نمیشه روش محاسبات انجام داد؟

aliagamon
چهارشنبه 31 اردیبهشت 1393, 12:14 عصر
اهان فهمیدم چی میخواین.... واسه ماشین حسابه ؟
میتونین مثل یه وی بی اسکریپت اجراش کنین ...

string f = string.Format("A=({0}*{1})+({2}*{3})*{4}", 10, 12, 14, 15, 13);
f = f.Remove(0, f.IndexOf('=') + 1);
MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl();
sc.Language = "VBScript";
string expression = f;
object result = sc.Eval(expression);
MessageBox.Show(result.ToString());

فقط کتابخونه ی خود ویندوز رو باید ادد کنین ... اسمش MS Script Control ....

helpsos
چهارشنبه 31 اردیبهشت 1393, 12:26 عصر
فقط کتابخونه ی خود ویندوز رو باید ادد کنین ... اسمش MS Script Control ....

ممنون از کمکتون ولی از کجا باید کتابخانه رو پیدا کنم من که تو رفرنس ها گشتم پبدا نکردم. میشه کمک کنید؟

aliagamon
چهارشنبه 31 اردیبهشت 1393, 13:01 عصر
توی References کلیک کنین Add رو بزنین تو تب com هستش microsoft script control