Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Espressioni regolari
Forum - C# / VB.NET - Espressioni regolari

Avatar
dartraf (Normal User)
Pro


Messaggi: 71
Iscritto: 15/12/2005

Segnala al moderatore
Postato alle 19:41
Venerdì, 29/01/2010
Ciao a tutti
devo creare una espressione regolare che mi permette di avere valori numerici decimali con al massimo 2 cifre decimali
Ad esempio:
12.34 - 1.04 - 5 - 0 - 5.3 - 5.00 - 34567

Non sono proprio pratico con ste espressioni vi prego aiutatemi!!

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:04
Sabato, 30/01/2010
Direi:
Codice sorgente - presumibilmente Plain Text

  1. \d+([\.\,]\d{1,2})?


\d+ = almeno una cifra
\d+(...)? = almeno una cifra, che può opzionalmente essere seguita da un altro gruppo di caratteri
[\.\,] = punto o virgola
\d{1,2} = da una a due cifra, non meno di una e non più di due

In conclusione, almeno una cifra, opzionalmente seguita da al massimo due cifre decimali.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
dartraf (Normal User)
Pro


Messaggi: 71
Iscritto: 15/12/2005

Segnala al moderatore
Postato alle 13:48
Sabato, 30/01/2010
Ciao totem
ho implementato questo codice per vedere se il valore inserito rispetti la sintassi che ho imposto
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim R As New System.Text.RegularExpressions.Regex("\d+([\.\,]\d{1,2})?")
  2.  MsgBox(R.IsMatch(txtSpese.Text))



ma vedo che il valore ritornato è true anche quando inserisco 32.345 o con 4 cifre dopo il punto.
Dove sbaglio?

PM Quote
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Segnala al moderatore
Postato alle 19:45
Sabato, 30/01/2010
Codice sorgente - presumibilmente Plain Text

  1. "^\d+([\,\.]\d{1,2})?$"


;)

Ultima modifica effettuata da Gianluca87 il 30/01/2010 alle 19:47


a domanda precisa, risposta precisa...
a domanda generica, risposta generica...
PM Quote