Oppure

Loading
03/08/12 15:47
trattobasso
ciao a tutti, vi espongo il mio problema e come l'ho risolto (malino...) in vista di qualche piccolo consiglio.
Allora dovrei fare la somma di alcune textbox (solo numeri ovviamente) e man mano che inserisco i vari valori nelle textbox, in quella dedicata al risultato vederlo man mano che compilo le prime.
Ho inserito nell'evento TextChanged di ogni textbox questo codice per calcolare automaticamente il risultato:
Dim totale As String
        totale = Val(txt_cantinole.Text) + Val(txt_autorimesse_s.Text) + Val(txt_autorimesse_c.Text) + Val(txt_androni.Text) + Val(txt_logge.Text)
        txt_totale.Text = totale

Sembra funzionare fin quando i numeri sono interi ma, quando uso le virgole (devo per forza usare le virgole) nella textbox del risultato non le accetta. Probabilemente è una caratteristica di "Val".
Il bello e simpaticoè che se in quelle delle somme uso il punto come separatore, nel textbox risultato il calcolo viene effettuato correttamente e con la virgola..... :)

Capisco che funziona lo stesso ma, non è elegantissimo e vorrei capire il perchè del comportamento.
ciao
Ultima modifica effettuata da trattobasso 03/08/12 15:48
aaa
03/08/12 16:32
Renny
Il problema è proprio l'istruzione val..
Se guardi nella documentazione dice:

Note The Val function recognizes only the period (.) as a valid decimal separator. When different decimal separators are used, as in international applications, use CDbl or CInt instead to convert a string to a number.
Fonte:
msdn.microsoft.com/en-us/library/…(v=vs.71).aspx

Magari potresti pensare a fare un replace, prima della conversione, sostituendo "," con ".". Però sarebbe opportuno anche verificare che vengano inserito solo numero e non altri caratteri alfanumerici..
Ciao!:)
Ultima modifica effettuata da Renny 03/08/12 16:35
aaa
03/08/12 22:58
trattobasso
Ciao Renny, infatti immaginavo potesse essere quello.
Ho già previsto usando l'evento KeyPress che l'utente possa inserire solo numeri da 0 a 9 e il punto tanto è che poi alla fine simpaticamente mette lui la virgola come servirebbe a me.
Grazie e 1000 di aver condiviso questa cosa e buon proseguimento.
Ciao a tutti.
aaa