Espressione algebrica

venerdì 09 gennaio 2009 - 14.13

cispolo.ppl Profilo | Senior Member

Salve a tutti, se io in una textbox ho un testo del tipo: 3+(4*5-cos26), come potrei calcolarne il risultato?
Grazie
Massimo

tonyexpo Profilo | Senior Member


bè il modo classico è scrivere un metodo che intercetta gli operatori e faccia le operazioni riconosciute nel modo corretto e rispettandone la priorità specificata... magari in modo ricorsivo...
Per quanto riguarda le classi del framework, non c'è niente che io sappia che faccia qualcosa di simile, neanche nella classe System.Math.

Ciao
Antonio Esposito
MCP, MCTS .NET 2.0 Distributed applications

cispolo.ppl Profilo | Senior Member

girovagando nel web ho trovato questo articolo: http://msdn.microsoft.com/it-it/library/cc185040.aspx
dove spiega come risolvere un'espressione, però se incontra una funzione come il coseno, genera un errore.
Massimo

tonyexpo Profilo | Senior Member

Ciao

queste classi del framework non le conoscevo ;)
A questo punto ti consiglio di fare riferimento alla classe System.Math.
RIcorda che nel testo è come se stessi scrivendo del codice, quindi servono le parentesi per chiamare 1 metodo coseno o altri.
Eventualmente dovrai fare dei replace per rendere la scrittura più semplice

Antonio Esposito
MCP, MCTS .NET 2.0 Distributed applications

cispolo.ppl Profilo | Senior Member

ciao, quindi cosa dovrei scrivere ho una espressione se contiene ad esempio il coseno?
Massimo

tonyexpo Profilo | Senior Member

Eccola ;)


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Antonio Esposito
MCP, MCTS .NET 2.0 Distributed applications
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5