begin process at 2012 02 10 21:24:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Texte

 > 

verifier si une chaine est numerique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

verifier si une chaine est numerique

lundi 24 novembre 2003 à 18:43:15 | verifier si une chaine est numerique

seast


Bonjour,
Existe-t-il une fonction permettant de verifier si une chaine est numerique ou non, ou bien faut-il verifier les caracteres les uns apres les autres?
merci. Seast
lundi 24 novembre 2003 à 19:31:22 | Re : verifier si une chaine est numerique

PowerII

Bonjour,
À ma connaissance, non, mais tu peux toujours utiliser une petite fonction simple du genre :


function IsNumeric (const S : string):Boolean;
var i : integer;
begin
for i:=1 to Length (S) do
if S[i] in ['0','1','2','3','4','5','6','7','8','9'] then result:=True;
end;


@++ PowerII
;-)
mardi 25 novembre 2003 à 00:12:38 | Re : verifier si une chaine est numerique

Delphiprog

Administrateur CodeS-SourceS
Ce que l'on peut avantageusement raccourcir de la façon suivante

procedure TForm1.Button2Click(Sender: TObject);
var
AInt: integer;
begin
CheckBox1.Checked := TryStrToInt(Edit1.Text, AInt);
end;


Si tu veux contrôler plus finement le résultat, alors il vaut opter pour une solution personnalisée :

procedure TForm1.Button2Click(Sender: TObject);
begin
try
StrToInt(Edit1.Text)
except
ShowMessage('Saisie incorrecte');
Edit1.SetFocus;
end;
end;

ou, traduit sous forme de fonction :

function IsNumeric2(const Str: string):boolean;
begin
Result := True;
try
StrToInt(Str);
except
Result := False
end;
end;


Désolé PowerII, mais ton code a 2 inconvénients majeurs :
- le résultat est indéfini si aucun caractère n'est un chiffre
- si le dernier caractère examiné dans la chaine S n'est pas un chiffre, alors quel est est le résultat renvoyé ?

Pour les fainéants (dont je fais partie), il est plus rapide d'écrire (comme quoi ça a aussi du bon ):

if S[i] in ['0'..'9'] then

May Delphi be with you
mardi 25 novembre 2003 à 13:53:32 | Re : verifier si une chaine est numerique

seast


Merci à tous les deux !
J'ai découvert le bloc try..except, très intéressant


Cette discussion est classée dans : chaine, verifier, numerique


Répondre à ce message

Sujets en rapport avec ce message

rendre une chaine de caractere en binaire [ par tarik ] comment rendre une chaine de caractere en binaire ?je vais l'utiliser pour realiser un programme de cryptage(hachage)etape1 : transformer en binaireet longueur d'une chaine de texte (Len en VB) [ par Saeko ] comment connaitre la longueur d'une chaîne de texte ? y a-t-il un équivalent Delphi à l'instruction 'Len' de VB ?Merci d'avanceSaeko Retourner une chaine... [ par ELECTRORESiSTiK ] Salut,J'ai une chaine "1234567890" je cherche une fonction qui me donnerai "0987654321". Comment puis-je faire ça ? Il existe une fonction ?Merci d'av Mettre une chaine minuscule en majuscule... [ par ELECTRORESiSTiK ] Salut, tout est dans le titre mais je me répête, comment puis-je faire pour mettre une string qui est en minuscule en majuscule, existe t il une fonct Transformation ???? [ par g0belin ] peut t'ont transformet une chaine PChar vers une chaine string????si oui comment???se serai bien que se soit du style "PCharToStr" Fonction pour séparer des champs dans une chaine [ par belkin ] Bonjour,Existe-t-il une fonction qui permet de séparer des champs dans une chaine ?Exemple : MaVariable := '123_456.dat';Je veux séparer le 123 et 456 String et Retour chariot [ par lomig ] J'ai une chaine de caractere constituée de deux mots que je veuxséparer par un retour chariot et ensuite insérer cette chaine dans unfichier texte. Si SQl en chaine ! [ par apz ] Salut a tous,qlq peut m'aider a ecrire ce code sql dans l'editeur de code delphi.Select *From Kiosque, Fact, NumeroWhere (Ref=:mref) and(kiosque. Enlever les accents d'un texte etc... [ par lomig ] Bonjour, je suis à la recherche d'un algo me permettant de transformerune chaine de caractere afin d'en enlever les eventuelles erreurs.Imaginons une chaine de caractere [ par intello2001 ] je voudrai changer un caractere par un autre dans une expression, je voudrai savoir si il y a une commande aproprier (comme Replace(var,'a','b') par e


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,962 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales