[PHP] Si la valeur a une certaine forme..
HD
-
Ssylvainsab Messages postés 2884 Date d'inscription Statut Modérateur Dernière intervention -
Ssylvainsab Messages postés 2884 Date d'inscription Statut Modérateur Dernière intervention -
salut
j ai une $variable numérique et je voudrai faire un test if pour savoir si elle a cette forme :
"*" (exemple : "7")
ou "*,*" (exemple : "7,2")
ou "*,**" (exemple : "7,22")
comment ecrire cela svp ? je seche completement :-(
merci d'avance
ps: un switch serait encore mieux...
j ai une $variable numérique et je voudrai faire un test if pour savoir si elle a cette forme :
"*" (exemple : "7")
ou "*,*" (exemple : "7,2")
ou "*,**" (exemple : "7,22")
comment ecrire cela svp ? je seche completement :-(
merci d'avance
ps: un switch serait encore mieux...
A voir également:
- [PHP] Si la valeur a une certaine forme..
- Mise en forme conditionnelle excel - Guide
- Formule excel si contient texte alors valeur ✓ - Forum Excel
- Triez cette liste par ordre alphabétique des villes et par note de la meilleure à la moins bonne. quel mot est formé par les 8 premières lettres de la colonne code ? ✓ - Forum Excel
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
- Le fichier à télécharger contient une liste de chats. triez-la comme dans le tableau ci-dessous (attention, on ne voit que le début…). quel est le mot formé par les 8 dernières lettres de la colonne code ? - Forum Word
7 réponses
Bonsoir.
Si tu veux vérifier que la variable est bien un nombre, tu peux utiliser is_numeric.
Plus précisément, is_int te permet de vérifier que la variable est un entier et is_float un décimal.
Si tu veux vérifier que la variable est bien un nombre, tu peux utiliser is_numeric.
Plus précisément, is_int te permet de vérifier que la variable est un entier et is_float un décimal.
HD
l'objectif c'est de vérifier s'il y a une virgule, et s'il y a des chiffres après (et combien) sachant que c'est bien d'un "numeric"...
Pour voir s'il y a une virgule, utilises is_float.
Est-ce qu'il ne peut y avoir qu'un nombre avant la virgule (si virgule il y a ;-) ), ou peut-il y en avoir plus ?
Est-ce qu'il ne peut y avoir qu'un nombre avant la virgule (si virgule il y a ;-) ), ou peut-il y en avoir plus ?
justement, le but est de savoir s'il y a 0, 1 ou plusieurs chiffres après la virgule...
merci à tous pour votre aide
merci à tous pour votre aide
Je demande combien de chiffres il peut y avoir avant la virgule, car si tu le sais c'est très simple.
Tu peux utiliser la fonction substr, qui te permet de "couper" une chaine.
Si il y en a un par exemple, il faut enlver ce chiffre et la virgule, puis compter le nombre de caractères.
Tu ferais donc :
echo strlen(substr($chaine,2));
Tu peux utiliser la fonction substr, qui te permet de "couper" une chaine.
Si il y en a un par exemple, il faut enlver ce chiffre et la virgule, puis compter le nombre de caractères.
Tu ferais donc :
echo strlen(substr($chaine,2));
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Les expressions régulières marchent bien aussi :
(on teste que la valeur est un nombre décimal avec 2 chiffres max après la virgule)
if(ereg("^[0-9]+(\,[0-9]{1,2})?$",$ma_var)) echo "ok";
else echo "erreur";
Sinon pour connaître le nombre de chiffres derrière la virgule :
$tab = explode(",",$ma_var);
$nbre_chiffres = $tab[sizeof($tab)-1];
(on teste que la valeur est un nombre décimal avec 2 chiffres max après la virgule)
if(ereg("^[0-9]+(\,[0-9]{1,2})?$",$ma_var)) echo "ok";
else echo "erreur";
Sinon pour connaître le nombre de chiffres derrière la virgule :
$tab = explode(",",$ma_var);
$nbre_chiffres = $tab[sizeof($tab)-1];