View Full Version : [VB.NET] Modificare il punto con la virgola
OrcaAssassina
08-10-2007, 09:09
Ho un problema, sto valorando con dei valori e delle operazione
Se un utenti mi inserisci 1.23 invece di 1,23 il risultato cambia
Come posso controllare la virgola ed il punto
Volevo questo effetto, un utente inserisci un valore, su VALIDATE, mi controllava il punto, se era presente il punto me lo trasformava in virgola
C'è un metodo un qualcosa per risolvere questo problema????
Ciao e grazieeeeee
Ho un problema, sto valorando con dei valori e delle operazione
Se un utenti mi inserisci 1.23 invece di 1,23 il risultato cambia
Come posso controllare la virgola ed il punto
Volevo questo effetto, un utente inserisci un valore, su VALIDATE, mi controllava il punto, se era presente il punto me lo trasformava in virgola
C'è un metodo un qualcosa per risolvere questo problema????
Ciao e grazieeeeee
quello preso dalla text sono stringhe che poi con val tramuta in numeri ma se c'è la virgola è un casino.
La textbox lavora con il punto nell'estrazione della val.
Se un utente inserisce la virgola e fai "val(textbox)" non hai il risultato giusto allora invece di "Val" devi usare "CSng" od anche "CDbl".
io per esempio uso il punto perchè mi piace di +.
io faccio così:
Faccio inserire solo numeri e il punto oppure tramuto la virgola in punto a runtime e poi eseguo una val sulla text.
Un'altra soluzione che adotto e controllare ciò che ha digitato:
a=11,23
bx$="":for i=1 to len(textbox)
if mid(textbox,i,1)="," then
bx$=bx$+"."
else
bx$=mid(textbox,i,1)
endif
next i
a=val(b$) 'a=11.23
ciao
Edit: per il NET fai le dovute modifiche
OrcaAssassina
08-10-2007, 09:34
quello preso dalla text sono stringhe che poi con val tramuta in numeri ma se c'è la virgola è un casino.
La textbox lavora con il punto nell'estrazione della val.
Se un utente inserisce la virgola e fai "val(textbox)" non hai il risultato giusto allora invece di "Val" devi usare "CSng" od anche "CDbl".
io per esempio uso il punto perchè mi piace di +.
io faccio così:
Faccio inserire solo numeri e il punto oppure tramuto la virgola in punto a runtime e poi eseguo una val sulla text.
Un'altra soluzione che adotto e controllare ciò che ha digitato:
a=11,23
bx$="":for i=1 to len(textbox)
if mid(textbox,i,1)="," then
bx$=bx$+"."
else
bx$=mid(textbox,i,1)
endif
next i
a=val(b$) 'a=11.23
ciao
Edit: per il NET fai le dovute modifiche
A me che piace la virgola farò l'opposto
a=11,23
bx$="":for i=1 to len(textbox)
if mid(textbox,i,1)="." then
bx$=bx$+","
else
bx$=mid(textbox,i,1)
endif
next i
a=val(b$) 'a=11.23
Giusto?????
A me che piace la virgola farò l'opposto
a=11,23
bx$="":for i=1 to len(textbox)
if mid(textbox,i,1)="." then
bx$=bx$+","
else
bx$=mid(textbox,i,1)
endif
next i
a=val(b$) 'a=11.23
Giusto?????
...e che ne sò?
quello che è giusto è che capisci come fare algoritmi da solo.
yorkeiser
08-10-2007, 12:05
In fase di validazione, ti basta fare un Replace sulla variabile di tuo interesse
variabile = Replace(variabile, "," , ".")
Questo se la variabile è di tipo stringa, altrimenti la converti prima in stringa con un Cstr()
Uhmm...ma non basta fare un Convert.toDouble() dopo aver forzato la localizzazione?
OrcaAssassina
15-10-2007, 10:57
In fase di validazione, ti basta fare un Replace sulla variabile di tuo interesse
variabile = Replace(variabile, "," , ".")
Questo se la variabile è di tipo stringa, altrimenti la converti prima in stringa con un Cstr()
Io l'ho modificata da:
variabile = Replace(variabile, "," , ".")
ho fatto
me.valore.text = Replace(me.valore.text, "." , ",")
Quando trova la virgola non fa niente, ed è giusto, quando trova il punto, invece di sostiturilo con la virgola me lo elimina proprio quindi da:
10.5
invece di scrivere:
10,5
scrive
105
Come posso correggere????
Ciao e grazieeeeee
Io l'ho modificata da:
variabile = Replace(variabile, "," , ".")
ho fatto
me.valore.text = Replace(me.valore.text, "." , ",")
Quando trova la virgola non fa niente, ed è giusto, quando trova il punto, invece di sostiturilo con la virgola me lo elimina proprio quindi da:
10.5
invece di scrivere:
10,5
scrive
105
Come posso correggere????
Ciao e grazieeeeee
hai pensato invece se un utente digita: 1.0.5
ti va bene 1,0,5 ??
oppure cosa pensi di fare??
ciao
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.