Oppure

Loading
23/09/20 15:12
gnapolitano@teletu.it
Il programma è proteso a calcolare le operazioni rispettando le regole della precedenza.
Stringa è una variabile dichiarata pubblica a livello di modulo.
Essa contiene una serie di operazioni ,tipo 1200+5-2*90/10.
Sto procedendo così :
1)effettuo -con una serie di calcoli- la prima operazione, che è la moltiplicazione 2*90=180.
2)modifica quindi stringa originale in 1200+5-180/10 usando la funzione replace

    
stringa = stringa.Replace(primonumero & simbolo & secondonumero, risultato)


Quando il programma va ad eseguire la nuova operazione (la divisione,cioè;) si aspetta di trovare la nuova stringa,
invece...stringa è sempre quella originale.

Sbaglio,ma non capisco dove e perchè.
23/09/20 18:32
nessuno
In vb.net non in c#....
Ultima modifica effettuata da nessuno 23/09/20 19:47
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità;) chiamava il gioco del Lotto Tassa sulla stupidità.
23/09/20 19:06
Carlo
Metti una listbox e controlla la progressione del codice, così controlli se primonumero, simbolo e secondonumero, contengono veramente quello che vuoi, basta che ci sono degli spazi di troppo e replace non farà quello che vuoi.

Dim stringa As String = "1200+5-2*90/10"
ListBox1.Items.Add(stringa )
Dim primonumero As String = "2"
Dim simbolo As String = "*"
Dim secondonumero As String = "90"
Dim risultato As String = "180"
ListBox1.Items.Add(primonumero & simbolo & secondonumero)
ListBox1.Items.Add(risultato)
stringa = stringa.Replace(primonumero & simbolo & secondonumero, risultato)
ListBox1.Items.Add(stringa)


In che linguaggio stai programmando C# o VB .Net?
Ultima modifica effettuata da Carlo 23/09/20 19:13
in programmazione tutto è permesso
23/09/20 19:25
gnapolitano@teletu.it
Grazie,Carlo.
Ho risolto comunque il problema passando "stringa" byref e non byval.