Calcul de précision en PHP
Du coté PHP
|
|
Calcul de précision en PHP
Comment faire des calculs de précision en php ? PHP n'a pas de BCD (Binary Coded Decimal Fixed Point Types) et de arbitrary precision float type. Et pour faire des calculs il est important d'être trés précis.
Utiliser des floats/doubles n'est pas la meilleure solution et avoir une precision juste à 0.1 peut vous faire perdre des sommes importantes si vous êtes marchand.
Une solution est d'utiliser l'"arbitrary-precision" de nombres entiers avec GMP. Vous pouvez télécharger GMP sur le site. Ce site vous propose aussi un manuel d'explications GMP avec les nombreuses fonctions qui l'accompagnent.
Pour utiliser les fonctions GMP, vous devez compiler PHP GMP en utilisant l'option --with-gmp.
Exemple pour calculer une factorielle avec GPM:
Utiliser des floats/doubles n'est pas la meilleure solution et avoir une precision juste à 0.1 peut vous faire perdre des sommes importantes si vous êtes marchand.
Une solution est d'utiliser l'"arbitrary-precision" de nombres entiers avec GMP. Vous pouvez télécharger GMP sur le site. Ce site vous propose aussi un manuel d'explications GMP avec les nombreuses fonctions qui l'accompagnent.
Pour utiliser les fonctions GMP, vous devez compiler PHP GMP en utilisant l'option --with-gmp.
Exemple pour calculer une factorielle avec GPM:
|
.01 .02 .03 .04 .05 .06 .07 .08 .09 .10 .11 .12 .13 .14 .15 |
<?php function factorielle($x) { $return = 1; for ($i=2; $i < $x; $i++) { $return = gmp_mul($return, $i); } return $return; } echo gmp_strval(factorielle(1000)) . "<br />"; ?> |
Si vous avez un ecommerce et des problèmes avec des erreurs en $$ au final, l'implementation de ces fonctions mathématiques GPM devrait résoudre vos problemes. Vous n'aurez pas à subir un ralentissement de chargement de vos pages web car l'execution des scripts est trés rapide.
Ajouter un commentaire
Quelques articles qui devraient vous intéresser










Connexion
Les derniers!

