Dans un scénario, j’aimerai vérifier qu’un calcul donne un nombre entier. J’ai trouvé la fonction Is_Int en php mais elle ne fonctionne pas en direct dans le scenario …
Existe-t-il une autre fonction qui permettrait de faire cela ?
Merci pour vos retours
Bonjour,
Je ne suis pas sûr que la proposition de @Bonjour soit la plus pertinente…
En effet, la fonction round() va arrondir à l’entier inférieur si la partie décimale est < à 0,5, et à l’entier supérieur si la partie décimale est supérieure à 0,5.
Aussi, si on a N = 12.05, la fonction round(N) retournera 12 et le test (partie entière) de N == round (N) ? sera donc vrai (pas de problème…).
Mais si N=12.56, la fonction round (N) retournera 13 et le test (partie entière) de N == round (N) ? sera faux.
La fonction floor(), qui élimine complétement la partie décimale (aucun arrondi), en ne retournant que la partie entière, serait peut-être plus indiquée du coup (suivant l’utilisation qui en est faite bien sûr…).
Ok, je suis d’accord, on obtient dans les deux cas une partie entière sans décimales.
Mais pour le test, il faut savoir quoi tester avec round() sachant que le résultat N n’est pas forcément connu d’avance.
N == round(N) ? donnera donc un résultat vrai pour 11.5 < N < 12.5, et faux dans tous les autres cas…
N == floor(N) ? donnera vrai pour 12 < N < 12.999999[…], et faux dans tous les autres cas.
(je ne tiens pas compte des valeurs négatives s’il y en a…).