Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
16/03/11 20:09
thebonni90
salve ragazzi adesso sono propio in un vicolo cieco
ho cercato ma non ho trovato niente

ho una textbox dove l'utente inserisce dei numeri di tipo double
fatto tutto e funzionante
uso la conversione con il double.parse e ok
però l'applicazione funziona solo quando l'utente usa la virgola esempio

1,5885 ok

1.5885 non funziona

come posso trasfiormare il punto in una virgola in modo automatico ??? grazie di tutto
aaa
16/03/11 20:14
HeDo

double d = double.Parse(txtBox.Text.Replace('.',','));
aaa
16/03/11 20:45
thebonni90
mi da errore
RISFIN1 = Double.Parse(TextBox28.Text.Replace('.',','));

mi dice che manca espressione

poi come posso limitare i caratteri immessi ho trovato un altra discussione ma non è molto semplice la soluzione
aaa
16/03/11 20:50
thebonni90
risolto
RISFIN1 = Double.Parse(TextBox28.Text.Replace(".", ",";)) :rotfl::rotfl::rotfl::rotfl:

adesso volevo limitare i numeri che posso immettere ... pensavo a un if però volveo che nel caso immettesse una lettera la eliminasse automaticamente
pensavo con il codice ascii
aaa
16/03/11 21:29
noitide
limitare i numeri in che senso?? limitare il numero massimo di caratteri?? se si allora c'è una proprietà apposita della textbox che si chiama MaxLength ;)
altrimenti se vuoi che si immettano solo numeri puoi provare con la funzione "IsNumeric" che valuta se l'espressione può essere considerata un numero e restituisce True o False
Ultima modifica effettuata da noitide 16/03/11 21:42
aaa
17/03/11 7:29
thebonni90
volevo che l'utente potesse solo inserire
1 2 3 4 5 6 7 8 9 0 .
se inserisce caratteri non vengono visualizzati
aaa
17/03/11 9:09
noitide
allora lavora con la funzione "IsNumeric". Dovrebbe fare al caso tuo ;)
aaa
17/03/11 10:52
Il Totem
IsNumeric è una funzione di VB6. In .NET non esiste ufficialmente se non nel namespace Microsoft.VisualBasic: comunque l'uso è sconsigliato.

Altre possibili soluzioni sono:
1) Gestire l'evento KeyDown della textbox. Se e.KeyChar non è una cifra o non è un punto, allora imposta e.Handled a True e e.SuppressKeyPress a True. In questo modo evita che la lettera sia registrata nella textbox.
2) Usare una MaskedTextBox:
msdn.microsoft.com/it-it/library/…(v=vs.80).aspx
3) Usare le espressioni regolari (class Regex) per validare il testo.
aaa