Fonction isnumeric() pour c#.net

Soyez le premier à donner votre avis sur cette source.

Snippet vu 34 659 fois - Téléchargée 29 fois

Contenu du snippet

Ce code est sans vocation de grand développeur :D
Pourquoi j'ai développé ce code ?
Parce que IsNumeric() qui existe en VB.NET n'existe pas en C#.NET et que je ne l'ai pas trouvé sur le web.

Si il y a des problèmes concernant ce code, n'hesitez pas à me le dire je suis pret à recevoir les critiques.

La fonction prend en paramètre une chaine de caractère tout simplement, et renvoie un booléen, true si la chaine est un ENTIER (integer), false sinon.

Source / Exemple :


public bool IsNumeric(string Nombre)
		{
			int i=0;
			int nb=0;
			bool ok=false;
			char[] tabNombre;
			char[] unNb;
			tabNombre=Nombre.ToCharArray(0,Nombre.Length);
			for (i=0;i<Nombre.Length;i++)
			{
				ok=false;
				while ((nb<10)&&(ok==false))
				{
					unNb=Convert.ToString(nb).ToCharArray(0,1);
					if (tabNombre[i]==unNb[0])
					{
						ok=true;
						nb=0;
					}
					else
					{
						if ((i==0)&&(tabNombre[i]=='-'))
						{
							ok=true;
							nb=0;
						}
						else
						{
							ok=false;
							nb++;
						}
					}
				}
			}
			return ok;
		}

A voir également

Ajouter un commentaire

Commentaires


private bool IsDigitsOnly(string str)
{
foreach (char c in str)
{
if (c < '0' || c > '9') { return false; }
}

return true;
}
fouedelapoche
Messages postés
36
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
30 octobre 2009
-
sinon on peut aussi faire :

Microsoft.VisualBasic.Information.IsNumeric(expr);
bucherb
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Cool! Merci pour les précisions!
TheSaib
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
14 -
private static unsafe bool TryStringToNumber(string str, NumberStyles options, ref Number.NumberBuffer number, NumberFormatInfo numfmt, bool parseDecimal)
{
if (str == null)
{
return false;
}
fixed (char* local1 = str)
{
char* chPtr1 = local1;
char* chPtr2 = chPtr1;
if (!Number.ParseNumber(ref chPtr2, options, ref number, numfmt, parseDecimal) || ((((long) ((chPtr2 - chPtr1) / 2)) < str.Length) && !Number.TrailingZeros(str, (int) ((long) ((chPtr2 - chPtr1) / 2)))))
{
return false;
}
}
return true;
}

Et parse number c'est la fonction qui parcours le char* charactere par charactere.
bucherb
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Hey j'ai dis que j'étais "pret" à parier, pas que je pariais :-p Rend-moi ma couille gauche!

Bon pis Number.TryStringToNumber il fait quoi?

Y a pas de gros try catch de bourrin comme je pensais, c'est déjà bien non? :-p

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.