Vous êtes ici Articles > Calcul de précision en PHP

 

Calcul de précision en PHP

Du coté PHP
 
KOogar
Vu 8239 fois
Enregistré le 04 Avril 2007
  • Digg cet article sur digg.com
  • Bookmark cet article sur del.icio.us
  • Bookmark cet article sur Google
  • Bookmark cet article sur Yahoo
  • Ajoute Calcul de précision en PHP
  • Partage cet article sur Facebook
 
 
 
 

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:
.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
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Quelques articles qui devraient vous intéresser