Bonjour,
un soucis s'offre à moi. Ca a l'air plutôt bête, mais je bloque.
Je dois faire en sorte de tester si un nombre est correct, donc sans lettre alpha et que le zero soit exclu, mais [0.01-0.99] autorisé. Qui accepte 2 décimales (pas plus), et qui, si un utilisateur rentre une virgule, ca le transforme en point.
Pour le moment, ma fonction n'accepte pas les [0.01-0.99], et n'a pas de limite de décimales ...
Et la je bloque. De l'aide serait la bienvenue, merci à vous
PS : ma fonction n'est pas forcement propre, désolé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function int_to_dec($nb) { if (intval($nb) == 0) // Empeche 0 mais aussi 0.01 à 0.99 return -1; if (preg_match("/,/",$nb)) { // remplace la "," par "." $res = explode(",",$nb); $unit = intval($res[0]); $dec = intval($res[1]); return ($unit + ($dec/10)); } elseif (is_numeric($nb)) { // refuse les char alpha return ($nb); } else { //cas d'erreur return -1; } }
Partager