| auteur : Cyberzoide | Arrondi à l'entier supérieur : ceil(), arrondi à l'entier inférieur : floor(), arrondi à l'entier le plus proche : round().
Exemples : A noter que round($nbr [, $dec]) peut prendre un argument optionnel lui spécifiant le nombre de chiffres après la virgule qu'il faut garder : c'est la précision décimale.
|
| auteur : Cyberzoide | Il est souvent utile de convertir un nombre décimal en binaire (écriture d'un fichier binaire), hexadécimal (format de couleur), octal (format des droits de fichiers) ou que sais-je encore... Il existe une fonction plus générale permettant de convertir un nombre en n'importe quelle base : base_convert ($nbr, $source, $dest) qui convertit en base $dest le nombre $nbr exprimé en base $source. Les bases sont des entiers compris entre 2 et 36.
Par exemple, la fonction decbin($nbr) est équivalente à base_convert($nbr,10,2). Etant entendu que les nombres décimaux sont en base 10, les binaires en base 2, les hexadécimaux en base 16 et les octaux en base 8.
|
| auteur : f-demu01 |
Lorsque l'on manipule des données numériques (le plus souvent informatiques), il peut s'avérer utile de définir une variable en base octale ou hexadécimale, afin de s'éviter tout un tas de conversions à la main. Ainsi, il suffit de précéder la valeur assignée à une variable du bigramme '0x' pour la définir en base hexadécimale, et du chiffre '0' pour une définition octale.
$hexa_var = 0x150 ;
$octal_var = 0150; |
Attention, cette manipulation ne fonctionne que pour la définition: de fait, la commande
affichera 336 et non 0x150.
|
| auteur : Kerod |
Il peut s'avérer utile, dans un calcul, de fixer le nombre
de chiffres après la virgule. Pour ce faire, on utilise les
fonctions de la bibliothèque
BCMath,
qui sont les suivantes :
-
bcadd()
qui additionne et renvoie le résultat sous forme de
chaîne de caractères.
-
bcsub()
qui soustrait et renvoie le résultat sous forme de
chaîne de caractères.
-
bcmul()
qui multiplie et renvoie le résultat sous forme de
chaîne de caractères.
-
bcdiv()
qui divise et renvoie le résultat sous forme de
chaîne de caractères.
-
bcsqrt()
qui renvoie la racine carrée de l'opérande sous
forme de chaîne de caractères.
Exemple :
$nb1 = '22.3650';
$nb2 = '13';
echo bcadd($nb1, $nb2);
echo bcadd($nb1, $nb2, 1);
echo bcsub($nb1, $nb2);
echo bcsub($nb1, $nb2, 2);
echo bcmul($nb1, $nb2);
echo bcmul($nb1, $nb2, 4);
echo bcdiv($nb1, $nb2, 5);
echo bcsqrt($nb1, 2); |
|
| auteur : Forum PHP |
Pour élever un nombre x à la puissance y il
suffit d'utiliser la fonction
bcpow()
qui retourne x élevé à la puissance y,
FALSE en cas d'erreur.
Exemple :
Attention : la valeur de la puissance y doit
toujours être entière
|
| auteur : Cyberzoide | La machine ne sait fournir que ce qu'elle est en mesure de calculer. Or le vrai hasard ne se calcule pas, sinon ça n'en serait pas ! La machine est par contre en mesure de fournir des valeurs dont la distribution est suffisamment déroutante et sans ordre apparent pour les faire passer pour du hasard. Ces valeurs sont aléatoires. C'est du pseudo-hasard.
Pour obtenir un nombre aléatoire entre $min et $max : mt_rand([$min, $max]). Si $min et $max sont absents : retourne un entier entre 0 et RAND_MAX. Mais avant toute chose il faut initialiser le générateur de nombre aléatoire avec mt_srand($init) (appelée automatiquement depuis PHP 4.2.0) où $init est un entier d'initialisation qui lui même doit être toujours différent. Pour cela on prend en général la date courante avec précison à la seconde.
Exemple :
|
lien : Comment générer un nombre décimal aléatoire ?
lien : Comment générer un identifiant aléatoire et unique ?
|
| auteur : Jérôme | Il existe de multiples possibilités d'écriture pour tester la parité d'un nombre. En voici quelques-unes :
if ($nombre%2 == 1)
echo "$nombre est impair";
else
echo "$nombre est pair"; |
En utilisant la fonction is_float() :
En utilisant l'opérateur de bit & :
if ($nombre&1)
echo "$nombre est impair";
else
echo "$nombre est pair"; |
echo "$nombre est ", $nombre&1 ? "impair" : "pair" ; |
|
Consultez les autres F.A.Q's
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2003
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|