Vorrei creare una funzione che restituisca vero o falso a seconda che la stringa passata contenga un numero in formato americano
es 1.2 --> True
1,2 --> False
-1.2 --> true
N --> false
Mi potreste aiutare?
Vorrei creare una funzione che restituisca vero o falso a seconda che la stringa passata contenga un numero in formato americano
es 1.2 --> True
1,2 --> False
-1.2 --> true
N --> false
Mi potreste aiutare?
Pietro
Scomponi la stringa in un array di caratteri.
Con un bel ciclo While ad Hoc verificali uno ad uno.
Ad esempio:
- il primo carattere può essere diverso da un numero solo se è uguale a "-" o a "+";
- mantieni una variabile bool a False e passala a true la prima volta che trovi il carattere ".", la seconda volta che lo trovi puoi ritornare false;
- verifica che i caratteri della stringa siano all'interno dell'intervallo dei caratteri che indicano i numeri;
Ogni volta che una delle condizioni di cui sopra viene violata fai un bel
Sempre disponibile...codice:[C#] return false
Il mondo è una DEMO...
...e come tale ne subisce l'effetto!
Sì, in effetti è un'idea.
Io pensavo di convertire dentro il blocco Try una stringa in double utilizzando il metodo parse e passandogli un NumberFormatInfo impostato all'americana.
Il problema credo che siano le prestazioni..
Grazie... :gren:
Pietro
Non sarebbe customizzabile...
...e se non volessi il segno?
...e se per qualche motivo vuoi accettare i numeri con "," al posto di "."?
Forse un metodo personalizzato ti permette di avere uno strumento più flessibile e riutilizzabile...
...prego!
Il mondo è una DEMO...
...e come tale ne subisce l'effetto!
Ci sarebbero anche le espressioni regolari
Ma non le digerisco ancora.. :gren:
![]()
Pietro
Quelle sono potenti... se usi quelle sei al top.
Io ci ho dato un occhiata per la verifica di stringhe DateTime... roba da matti!!!! :di56:
Il mondo è una DEMO...
...e come tale ne subisce l'effetto!
non sono così cattive le regex.
sul manuale Asp.net guida per lo sviluppatore edito da Wrox c'è un intero set di 5 pagine che parlano di come utilizzarle via codice(non i web form per intenderci).
basta che ti crei la regex e poi ad ogni singolo fai un Match.
e bon sei a cavallo
Sono d'accordo che sono utilissime, dico solo che sono un po' complicate da creare... ho seguito un articolo per la creazione di un regex per la validazione di una stringa come data... non era semplice!
Ma alla fine era perfetta!
Il mondo è una DEMO...
...e come tale ne subisce l'effetto!
la stringa è questa:
^\d*\.?\d*$
...l'ho trovata qui
"I video giochi non influenzano i bambini. Voglio dire, se Pac-man avesse influenzato la nostra generazione, staremmo tutti saltando in sale scure, masticando pillole magiche e ascoltando musica elettronica ripetitiva!" (Kristian Wilson, Nintendo Inc., 1989)
Pochi anni dopo naquero le feste rave, la musica techno e l'ecstasy...
:quote:
In effetti, ricordando bene, ho trovato una volta la tecnica per implementare IsNumeric in c# e prendeva in considerazione tutte queste tecniche. Il problema alla fin fine è di trovare quella meno dispendiosa.
Grazie a tutti gli amici per le risposte :quote:
^\d*\.?\d*$ questa stringa naturalmente non funziona perchè da Numero per . (punto) e Non Numero per -0.2![]()
Ciao a tutti
Pietro