Syntaxe
|
function bcadd($left_operand,$right_operand);
|
|
function bcadd($left_operand,$right_operand,$scale);
|
Paramètres
| Nom |
Description |
| $left_operand |
Ce paramètre permet d'indiquer le premier opérande à ajouter. |
| $right_operand |
Ce paramètre permet d'indiquer le deuxième opérande à ajouter. |
| $scale |
Ce paramètre permet d'indiquer le nombre de chiffre après la décimale à placer dans le résultat. |
Retour
| Valeur |
Description |
| chaine de caractères |
Ces valeurs permettent d'indiquer la somme des deux nombres. |
Description
Cette fonction permet d'effectuer l'ajout de deux nombres avec un haut niveau de précision arithmétique.
Remarques
- Manipulation des nombres flottants avec précision arbitraire : La fonction bcadd permet de réaliser des additions avec des nombres en notation décimale,
tout en garantissant une précision arbitraire. Cette fonction est utile dans les contextes où les calculs en virgule flottante natifs de PHP pourraient introduire des
erreurs dues à des approximations binaires.
- Précision contrôlée par l'utilisateur : Le paramètre facultatif $scale permet de définir le nombre de chiffres après la virgule dans le résultat. Par défaut,
si ce paramètre n'est pas précisé, la valeur de précision définie globalement par bcscale() est utilisée, sinon elle est à zéro. Cela permet
une personnalisation fine des calculs.
- Support limité aux chaînes de caractères : bcadd ne fonctionne qu'avec des nombres représentés sous forme de chaînes de caractères. Si vous tentez de passer
des nombres natifs (entiers ou flottants), PHP les convertira automatiquement en chaînes de caractères, mais cela pourrait introduire des comportements inattendus si les
chaînes de caractères contiennent des caractères invalides.
- Conçue pour la précision mathématique dans des applications critiques : Elle est particulièrement adaptée aux domaines comme la finance, où une précision rigoureuse
est essentielle pour des calculs impliquant des montants monétaires ou des taux d'intérêt. Contrairement aux opérations mathématiques classiques, elle ne subit pas les erreurs
d'arrondi des nombres binaires.
- Comparaison avec les opérateurs natifs de PHP : Bien que l'addition native de PHP soit plus rapide, elle n'est pas aussi fiable pour les très grands nombres
ou les calculs avec de nombreux décimales. En utilisant bcadd, vous évitez des problèmes tels que la perte de précision ou des erreurs d'arrondi.
- Ne gère pas les nombres négatifs explicitement : La fonction accepte les nombres négatifs en entrée sous forme de chaînes (par exemple "-12.34"), mais elle ne
vérifie pas explicitement si les paramètres sont valides. Si un paramètre contient des caractères non numériques ou non conformes, une erreur est levée ou un comportement inattendu
peut survenir.
- Dépendance à l'extension BCMath : Pour utiliser bcadd, l'extension BCMath doit être activée dans votre installation de PHP. Par défaut, elle
est activée dans la plupart des distributions PHP, mais elle peut être désactivée dans certains environnements légers ou personnalisés.
- Compatible avec des applications multiplateformes : En raison de son fonctionnement basé sur des chaînes de caractères, bcadd est indépendante des limitations
des types natifs de PHP sur les systèmes 32 bits ou 64 bits. Vous pouvez donc l'utiliser sans vous soucier des incompatibilités entre différentes architectures.
Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 372
Dernière mise à jour : Mercredi, le 25 mars 2015