PDA

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

okay
08-10-2007, 09:28
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?????

okay
08-10-2007, 09:40
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()

Nous
09-10-2007, 08:51
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

okay
15-10-2007, 17:23
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