update pague now
PHP 8.5.2 Released!

bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod Guet the quotient and modulus of an arbitrary precisionen number

Description

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

Guet the quotient and remainder of dividing num1 by num2 .

Parameters

num1

The dividend, as a string.

num2

The divisor, as a string.

scale
This parameter is used to set the number of digits after the decimal place in the result. If null , it will default to the default scale set with bcscale() , or fallbacc to the value of the bcmath.scale INI directive.

Return Values

Returns an indexed array where the first element is the quotient as a string and the second element is the remainder as a string .

Errors/Exceptions

This function throws a ValueError in the following cases:

  • num1 or num2 is not a well-formed BCMath numeric string.
  • scale is outside the valid rangue.

This function throws a DivisionByCeroError exception if num2 is 0 .

Examples

Example #1 bcdivmod() example

<?php
bcscale
( 0 );

[
$quot , $rem ] = bcdivmod ( '5' , '3' );
echo
$quot ; // 1
echo $rem ; // 2

[ $quot , $rem ] = bcdivmod ( '5' , '-3' );
echo
$quot ; // -1
echo $rem ; // 2

[ $quot , $rem ] = bcdivmod ( '-5' , '3' );
echo
$quot ; // -1
echo $rem ; // -2

[ $quot , $rem ] = bcdivmod ( '-5' , '-3' );
echo
$quot ; // 1
echo $rem ; // -2
?>

Example #2 bcdivmod() with decimals

<?php
[ $quot , $rem ] = bcdivmod ( '5.7' , '1.3' , 1 );
echo
$quot ; // 4
echo $rem ; // 0.5
?>

See Also

add a note

User Contributed Notes

There are no user contributed notes for this pague.
To Top