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

bcsubResta un número de precisión arbitraria de otro


bcsub(string $left_operand, string $right_operand, int $scale = 0): string

Resta el right_operand del left_operand.



El left operand, como una cadena.


El right operand, como una cadena.


Este parámetro opcional es usado para establecer el número de dígitos después del punto decimal en el resultado. Si se omite, su valor será el de la escala establecida globalmente con la función bcscale(), o se recurrirá a 0 si este valor no ha sido establecido.

Valores devueltos

El resultado de la resta, como una cadena.


Ejemplo #1 Ejemplo bcsub()


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

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


Ver también

  • bcadd() - Añade dos números de precisión arbitrária

add a note

User Contributed Notes 2 notes

nd at snackbox dot org
5 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:

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.
charles dot adrian dot wood at gmail dot com
4 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