Numérique ou non ?

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
pat51
Batcheur occasionnel
Messages : 1
Enregistré le : 21 janv. 2015 01:24

Numérique ou non ?

Message par pat51 »

Bonjour.

Peut-on déterminer en un seule opération si une variable (ou une partie d'une variable) est numérique ?
(on peut bien sûr vérifier que chaque caractère de la variable - ou de la partie de la variable - est un chiffre,
c'est bestial, mais ça peut marcher).

Une idée ?

À vous lire.
LNOW
Batcheur débutant
Messages : 17
Enregistré le : 20 déc. 2014 12:28

Re: Numérique ou non ?

Message par LNOW »

bonjour,

j'utiliserais le SET /A pour faire le test.

Par exemple si ta variable s'appelle X, j'utilise une autre variable VARTEMP

Code : Tout sélectionner

SET VARTEMP=PAS_NUMERIQUE
REM -- on utilise SET /A (on feinte car on ne fait pas d'opération) pour voir si c'est numérique
SET /A VARTEMP=%X% 2>NUL

IF "%VARTEMP%"=="PAS_NUMERIQUE" ECHO %X% n'est pas numerique...
 
Bon, c'est un exemple, à adapter selon ce que tu veux faire ;-)
sandorisuka
Batcheur occasionnel
Messages : 2
Enregistré le : 14 févr. 2015 10:53
Contact :

Re: Numérique ou non ?

Message par sandorisuka »

The above statement, this is a great value for me and many people here.
sakooon
Batcheur occasionnel
Messages : 1
Enregistré le : 14 avr. 2015 13:09

Re: Numérique ou non ?

Message par sakooon »

(on peut bien sûr vérifier que chaque caractère de la variable - ou de la partie de la variable - est un chiffre, c'est bestial, mais ça peut marcher).????
LNOW
Batcheur débutant
Messages : 17
Enregistré le : 20 déc. 2014 12:28

Re: Numérique ou non ?

Message par LNOW »

sakooon a écrit :(on peut bien sûr vérifier que chaque caractère de la variable - ou de la partie de la variable - est un chiffre, c'est bestial, mais ça peut marcher).????
Mmmoui, on peut le faire.
Je dirais qu'il faut supprimer tous les chiffres, et vérifier à la fin que le résultat est vide.

En supposant que ta variable à vérifier s'appelle X, cela donnerait qq chose comme:

Code : Tout sélectionner

 REM  On suppose que la variable a verifier est X
SETLOCAL
SET VARTEMP="%X%"
if %VARTEMP%=="" ECHO la variable est vide & GOTO :EOF

REM On retire les chiffres un à un
SET VARTEMP=%VARTEMP:0=%
SET VARTEMP=%VARTEMP:1=%
SET VARTEMP=%VARTEMP:2=%
SET VARTEMP=%VARTEMP:3=%
SET VARTEMP=%VARTEMP:4=%
SET VARTEMP=%VARTEMP:5=%
SET VARTEMP=%VARTEMP:6=%
SET VARTEMP=%VARTEMP:7=%
SET VARTEMP=%VARTEMP:8=%
SET VARTEMP=%VARTEMP:9=%

REM on vérifie et affiche le résultat
if %VARTEMP%=="" ECHO %X% est NUMERIQUE & GOTO :EOF
ECHO %X% n'est pas numerique

 
Répondre