2011-07-07 12 views
9

Bir dizede matematiksel bir ifadeyi değerlendirmeme izin veren bir yöntem var mı? Örnek (Değil Gerçek Code):VB.Net- Bir Dizede Matematiksel İfadeyi Değerlendirme

Girdi = "2 2 +"

Çıktı = birYöntem (Girdi)

Çıktı = 4

Güncelleme: Boşverin, tarafından etrafında bir yol buldum DataTable.Compute kullanarak.

+0

Arama SO için MSScriptControl. – dbasnett

+1

Mümkün olan yinelenen [yapmak matematik içinde vb.net javascript içinde Eval] (http://stackoverflow.com/questions/1452282/doing-math-in-vb-net-like-eval-in-javascript) – KyleMit

cevap

3

Bunu işlemek için bir matematik ifade ayrıştırıcısına ihtiyacınız olacak. İşte

Codeplex bazı çeşitli açık kaynak seçenekleri şunlardır:

aramada diğerleri bulabilirsiniz ...

+0

için teşekkürler Girdi ama bunu yapabilecek herhangi bir kütüphane var mı? Harici ayrıştırıcı kullanmamayı tercih ederim ... Ekleyebildiğim, çıkarabileceğimiz, çoğaltabildiği ve bölebildiği sürece karmaşık bir şeye ihtiyacım yok. – Walker

+0

@Leonardo: Doğrudan değil. Bunu kendiniz üretmek için CodeDom kullanabilirsiniz, ama bu işin adil bir miktarı ... –

+0

Hmmm Ben CodeDom kullanacağımı düşünüyorum, o zaman yardım için teşekkürler – Walker