Lehet olyan csinálni hogy egy string be beírjuk hogy (x+15) *2 és át konvertálja egy számmá?
Figyelt kérdés
Pl.:
string s = "(x+5)*2";
int x = 30;
int a = ? //35*2=70
2013. márc. 9. 20:56
1/14 anonim válasza:
Így közvetlenül nem, de stringműveletekkel összehozható. Illetve láttam már rá libraryt valahol.
2/14 anonim válasza:
Nézz utána a lengyel formának. Azt felhasználva könnyen írhatsz erre egy algoritmust.
3/14 anonim válasza:
vagy keress függvényeket erre, lehet, hogy már van! Pascalban tudom, hogy sysutils nevű unitban van két függvény pont erre. StrToInt(x) illetve az IntToStr(x).
4/14 anonim válasza:
Az előző válaszoló teljesen hülyeséget írt, semmi köze a kérdéshez. A fenti 2 függvénnyel intet lehet stringgé alakítnani, vagy visszaparse-olni. Neked 2 lehetőséged van. Vagy magad írsz egy algoritmust, ami a stringből előállítja a kifejezésfát, utána pedig végrehajtod műveleteket. Ez a bonyulultabb. Vagy pedig használsz egy már meglévő függvénykönyvtárat, ami megcsinálja a fentit helyetted. Pl ha C#-ban kell, akkor elég csak dinamikusan lefordítani a fenti kódot, és meghívni a függvényt, amibe becsomagolod. Keress rá erre: "c# compile source code runtime"
5/14 A kérdező kommentje:
megtaláltam de nem tudom bele tenni az x-et
2013. márc. 10. 18:19
6/14 anonim válasza:
Akkor tényleg inkább érdemes sajátot írni.
7/14 anonim válasza:
Az x-et paraméterként kell beletenned, tehát pl egy ilyen osztályt raksz össze:
"class ExprEvalClass:" + typeof (ExprEvalClassBase).FullName +
"{" +
"public ExprEvalClass(){}" +
"public override double Eval(double x)" +
"{" +
"return " + expr + ";" +
"}" +
"}";
De tényleg érdemesebb sajátot írni, akkor tanulsz egys kicsit.
8/14 A kérdező kommentje:
köszönöm segítségeket
sikerült megcsinálnom compile-vel
de ha át küldöm át küldöm egy másik gépre akkor nem fut le
ezt írja ki:
2013. márc. 13. 21:35
9/14 anonim válasza:
Fel tudnád tölteni valahova a telejs forrást?
10/14 A kérdező kommentje:
privátban átküldöm
2013. márc. 13. 22:30
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!