BCSUB |
Soustraire |
| PHP 4.0+ |
Syntaxe
|
function bcsub($left_operand,$right_operand);
|
|
function bcsub($left_operand,$right_operand,$scale);
|
Paramètres
| Nom |
Description |
| $left_operand |
Ce paramètre permet d'indiquer le premier opérande à soustraire. |
| $right_operand |
Ce paramètre permet d'indiquer le deuxième opérande à soustraire. |
| $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 le résultat des deux nombres. |
Description
Cette fonction permet d'effectuer la soustraction d'un nombre à un autre avec un haut niveau de précision arithmétique.
Remarques
- Gestion des nombres décimaux de grande taille : La fonction bcsub est idéale pour effectuer des soustractions sur de très grands nombres. Contrairement
aux opérateurs mathématiques standards, elle permet de manipuler des nombres qui dépassent la précision native des types numériques de PHP, comme float ou
int. Cela en fait une solution robuste pour les calculs financiers ou scientifiques.
- Spécification explicite de la précision : Un des avantages de bcsub est la possibilité de définir le nombre de chiffres après la virgule grâce à son
troisième paramètre $scale. Cela permet de contrôler la précision des résultats selon les besoins de l'application. Par exemple, une précision de 2 est souvent utilisée
pour représenter des montants monétaires.
- Retourne toujours une chaîne de caractères : Contrairement aux opérations classiques pouvant renvoyer des nombres, bcsub retourne toujours une chaîne de
caractères. Cela évite les problèmes d'arrondi ou de perte de précision souvent associés aux nombres flottants en PHP, mais nécessite une conversion si un type numérique
est attendu.
- Pas de gestion native des erreurs : Si les paramètres fournis à bcsub ne sont pas valides, PHP émet une erreur de type. Cependant, la fonction
elle-même ne retourne pas de code d'erreur en cas de problème. Cela impose de valider les entrées au préalable pour éviter des comportements inattendus.
- Compatibilité limitée aux nombres non formatés : Les nombres fournis à bcsub doivent être dans un format strictement numérique, sans séparateurs de milliers
ni caractères non valides (comme des espaces). Cela signifie qu'il faut souvent nettoyer et valider les entrées avant de les utiliser dans cette fonction.
- Partie de l'extension BCMath : La fonction bcsub fait partie de l'extension BC Math, n'étant pas activée par défaut dans toutes les distributions
PHP. Cela signifie qu'avant de l'utiliser, il faut s'assurer que l'extension est installée et activée sur le serveur. Sur certaines configurations, il peut être nécessaire
de modifier le fichier php.ini.
- Utilisation limitée à l'arithmétique de base : Bien que bcsub soit utile pour la soustraction de grands nombres, elle ne prend pas en charge des opérations
plus complexes comme les puissances ou les racines carrées. Pour des calculs avancés, il faut utiliser d'autres fonctions de BC Math, comme
bcpow ou bcsqrt, ou bien une bibliothèque tierce.
- Facilité d'utilisation dans les contextes internationaux : Comme bcsub utilise le point . comme séparateur décimal, elle est indépendante des paramètres
régionaux (locale) de PHP. Cela garantit des résultats cohérents même dans des environnements où la virgule est utilisée comme séparateur décimal, comme en France ou au
Canada français.
Dernière mise à jour : Mercredi, le 25 mars 2015