Je cherche a tester qu'une chaine de caractères ne contiennes que des chiffres.
Merci d'avance
Je viens de trouver la réponse
if isnumeric(chaine) then
jbongran
wrote:
On 5 mar, 15:17, "" wrote:
Bonjour,
Je cherche a tester qu'une chaine de caractères ne contiennes que des chiffres.
Merci d'avance
Je viens de trouver la réponse
if isnumeric(chaine) then
Pas si sûr IsNumeric(-1.25) retourne True (Vrai) IsNumeric(1.0) retourne True (Vrai) etc... L'usage d'une expression régulière est peut être plus sûre (pas tout testé, mais ça devrait faire l'affaire):
Function RegExpTest(patrn, strng) Dim regEx ' Crée la variable. Set regEx = New RegExp ' Crée l'expression régulière. regEx.Pattern = patrn ' Définit les critères. regEx.IgnoreCase = False ' Définit le respect de la casse. RegExpTest = regEx.Test(CStr(strng)) ' Lance le test de recherche. End Function
WScript.Echo("125 est numerique: " & RegExpTest("^d+$", 125)) WScript.Echo("1.25 est numerique: " & RegExpTest("^d+$", 1.25)) WScript.Echo("-125 est numerique: " & RegExpTest("^d+$", -125))
news1@charlet.ch wrote:
On 5 mar, 15:17, "n...@charlet.ch" <n...@charlet.ch> wrote:
Bonjour,
Je cherche a tester qu'une chaine de caractères ne contiennes que des
chiffres.
Merci d'avance
Je viens de trouver la réponse
if isnumeric(chaine) then
Pas si sûr IsNumeric(-1.25) retourne True (Vrai)
IsNumeric(1.0) retourne True (Vrai)
etc...
L'usage d'une expression régulière est peut être plus sûre (pas tout testé,
mais ça devrait faire l'affaire):
Function RegExpTest(patrn, strng)
Dim regEx ' Crée la variable.
Set regEx = New RegExp ' Crée l'expression régulière.
regEx.Pattern = patrn ' Définit les critères.
regEx.IgnoreCase = False ' Définit le respect de la casse.
RegExpTest = regEx.Test(CStr(strng)) ' Lance le test de recherche.
End Function
WScript.Echo("125 est numerique: " & RegExpTest("^d+$", 125))
WScript.Echo("1.25 est numerique: " & RegExpTest("^d+$", 1.25))
WScript.Echo("-125 est numerique: " & RegExpTest("^d+$", -125))
Je cherche a tester qu'une chaine de caractères ne contiennes que des chiffres.
Merci d'avance
Je viens de trouver la réponse
if isnumeric(chaine) then
Pas si sûr IsNumeric(-1.25) retourne True (Vrai) IsNumeric(1.0) retourne True (Vrai) etc... L'usage d'une expression régulière est peut être plus sûre (pas tout testé, mais ça devrait faire l'affaire):
Function RegExpTest(patrn, strng) Dim regEx ' Crée la variable. Set regEx = New RegExp ' Crée l'expression régulière. regEx.Pattern = patrn ' Définit les critères. regEx.IgnoreCase = False ' Définit le respect de la casse. RegExpTest = regEx.Test(CStr(strng)) ' Lance le test de recherche. End Function
WScript.Echo("125 est numerique: " & RegExpTest("^d+$", 125)) WScript.Echo("1.25 est numerique: " & RegExpTest("^d+$", 1.25)) WScript.Echo("-125 est numerique: " & RegExpTest("^d+$", -125))
Michel Claveau
Bonjour !
En fait, ça peut être très compliqué.
Et, déjà, comment définir des chiffres ?
Par exemple, est-ce que chrw(8547) (chiffre romain 4) est considéré comme un chiffre ?
Plus vicieux : chrw(&h248B)
Et l'infini ? chrw(&h221E)
etc.
-- @-salutations
Michel Claveau
Bonjour !
En fait, ça peut être très compliqué.
Et, déjà, comment définir des chiffres ?
Par exemple, est-ce que chrw(8547) (chiffre romain 4) est considéré
comme un chiffre ?
Par exemple, est-ce que chrw(8547) (chiffre romain 4) est considéré comme un chiffre ?
Plus vicieux : chrw(&h248B)
Et l'infini ? chrw(&h221E)
etc.
-- @-salutations
Michel Claveau
Jacques Barathon [MS]
"Michel Claveau" <Enleverles wrote in message news:
Bonjour !
En fait, ça peut être très compliqué.
Et, déjà, comment définir des chiffres ?
Chiffres, pas nombres. Chiffres = 0 .. 9, non? Ok, on suppose que vu l'intitulé du problème de départ, on ne parle que des chiffres arabes.
La solution de jbongran basée sur une expression régulière me paraît être la plus probante. En PowerShell (hé oui, ça faisait un bail) ça donnerait simplement:
"Michel Claveau" <Enleverles XX.mcXX@XmXclaveauXX.XX.com> wrote in message
news:mn.3a607d73a3bd9cdc.34209@XmXclaveauXX.XX.com...
Bonjour !
En fait, ça peut être très compliqué.
Et, déjà, comment définir des chiffres ?
Chiffres, pas nombres. Chiffres = 0 .. 9, non? Ok, on suppose que vu
l'intitulé du problème de départ, on ne parle que des chiffres arabes.
La solution de jbongran basée sur une expression régulière me paraît être la
plus probante. En PowerShell (hé oui, ça faisait un bail) ça donnerait
simplement:
"Michel Claveau" <Enleverles wrote in message news:
Bonjour !
En fait, ça peut être très compliqué.
Et, déjà, comment définir des chiffres ?
Chiffres, pas nombres. Chiffres = 0 .. 9, non? Ok, on suppose que vu l'intitulé du problème de départ, on ne parle que des chiffres arabes.
La solution de jbongran basée sur une expression régulière me paraît être la plus probante. En PowerShell (hé oui, ça faisait un bail) ça donnerait simplement: