PHP 8.4.1 Released!

bcsub

(PHP 4, PHP 5, PHP 7, PHP 8)

bcsubSoustrait un nombre de grande taille d'un autre

Description

bcsub(string $num1, string $num2, ?int $scale = null): string

Soustrait l'opérande num2 de l'opérande num1.

Liste de paramètres

num1

L'opérande de gauche, sous la forme d'une chaîne de caractères.

num2

L'opérande de droite, sous la forme d'une chaîne de caractères.

scale

Ce paramètre optionnel est utilisé pour définir le nombre de chiffres après la décimale à placer dans le résultat. Vous pouvez également définir la précision globale par défaut pour toutes les fonctions en utilisant la fonction bcscale().

Valeurs de retour

Le résultat de la soustraction, sous la forme d'une chaîne de caractères.

Historique

Version Description
8.0.0 scale est désormais nullable.

Exemples

Exemple #1 Exemple avec bcsub()

<?php

$a
= '1.234';
$b = '5';

echo
bcsub($a, $b); // -3
echo bcsub($a, $b, 4); // -3.7660

?>

Voir aussi

  • bcadd() - Additionne deux nombres de grande taille

add a note

User Contributed Notes 2 notes

up
7
nd at snackbox dot org
6 years ago
The parameter order here is probably fairly obvious to most people (subtract right from left), but to clarify with a simple use case since I was struggling with this at the end of a long day:

<?php
echo bcsub('7', '5'); // 7 - 5 = '2'
echo bcsub('12', '17'); // 12 - 17 = '-5'
?>

Provide the parameters in the same order you would when using a normal subtraction operator.
up
0
charles dot adrian dot wood at gmail dot com
5 years ago
Please note that bcsub will fail in non-obvious ways if it's fed something that cannot be converted to a number. For instance:

bcsub('yes', 'no') === '0'

Yes, if you put garbage in, you get garbage out. Just don't expect bcsub to throw an error when you feed it an entirely non-numeric value.
To Top