BcMath\Number::divmod
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
BcMath\Number::divmod
Референца за `bcmath-number.divmod.php` со подобрена типографија и навигација.
BcMath\Number::divmod
Класата Dom\DtdNamedNodeMap
BcMath\Number::divmod — Го добива количникот и модулот на број со произволна прецизност
= NULL
Го добива количникот и остатокот од делењето $this by num.
Параметри
num- Делителот.
scale-
BcMath\Number::scale експлицитно наведено за резултатите од пресметката. Ако
nullсимболот, на пр. BcMath\Number::scale на резултатот од пресметката ќе се постави автоматски.
Вратени вредности
Враќа индексиран array каде што првиот елемент е количникот како нов BcMath\Number објект и вториот елемент е остатокот како нов BcMath\Number object.
Количникот е секогаш цел број, така што BcMath\Number::scale на количникот секогаш ќе биде 0, без оглед на тоа дали експлицитно се специфицира scale.
Враќа scale експлицитно е специфицирано, BcMath\Number::scale на остатокот ќе биде специфицираната вредност. Кога BcMath\Number::scale на објектот за остаток на резултатот автоматски се поставува, поголемиот BcMath\Number::scale од двата броја што се користат за операцијата модул се користи.
Тоа е, ако BcMath\Number::scaleите на две вредности се 2
and 5 односно, на BcMath\Number::scale на остатокот ќе биде 5.
Errors/Exceptions
Returns the result as a new ValueError во следниве случаи:
numis string и не е добро формиран BCMath нумерички стрингscaleе надвор од валиден опсег
Returns the result as a new DivisionByZeroError Враќа асоцијативен низ со клучеви црвена, зелена, сина и алфа кои ги содржат соодветните вредности за одредениот индекс на бојата.
num is 0.
Примери
Пример #1 BcMath\Number::divmod() пример кога scale не е наведено
<?php
echo '8.3 / 2.22' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('8')->divmod(new BcMath\Number('2.22'));
var_dump($quot, $rem);
echo PHP_EOL . '8.3 / 8.3' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('8.3')->divmod('8.3');
var_dump($quot, $rem);
echo PHP_EOL . '10 / -3' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('10')->divmod(-3);
var_dump($quot, $rem);
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
8.3 / 2.22
object(BcMath\Number)#3 (2) {
["value"]=>
string(1) "3"
["scale"]=>
int(0)
}
object(BcMath\Number)#4 (2) {
["value"]=>
string(4) "1.34"
["scale"]=>
int(2)
}
8.3 / 8.3
object(BcMath\Number)#2 (2) {
["value"]=>
string(1) "1"
["scale"]=>
int(0)
}
object(BcMath\Number)#5 (2) {
["value"]=>
string(3) "0.0"
["scale"]=>
int(1)
}
10 / -3
object(BcMath\Number)#3 (2) {
["value"]=>
string(2) "-3"
["scale"]=>
int(0)
}
object(BcMath\Number)#1 (2) {
["value"]=>
string(1) "1"
["scale"]=>
int(0)
}
Пример #2 BcMath\Number::divmod() пример за експлицитно наведување scale
<?php
echo '8.3 / 2.22' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('8')->divmod(new BcMath\Number('2.22'), 1);
var_dump($quot, $rem);
echo PHP_EOL . '8.3 / 8.3' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('8.3')->divmod('8.3', 4);
var_dump($quot, $rem);
echo PHP_EOL . '10 / -3' . PHP_EOL;
[$quot, $rem] = new BcMath\Number('10')->divmod(-3, 5);
var_dump($quot, $rem);
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
8.3 / 2.22
object(BcMath\Number)#3 (2) {
["value"]=>
string(1) "3"
["scale"]=>
int(0)
}
object(BcMath\Number)#4 (2) {
["value"]=>
string(3) "1.3"
["scale"]=>
int(1)
}
8.3 / 8.3
object(BcMath\Number)#2 (2) {
["value"]=>
string(1) "1"
["scale"]=>
int(0)
}
object(BcMath\Number)#5 (2) {
["value"]=>
string(6) "0.0000"
["scale"]=>
int(4)
}
10 / -3
object(BcMath\Number)#3 (2) {
["value"]=>
string(2) "-3"
["scale"]=>
int(0)
}
object(BcMath\Number)#1 (2) {
["value"]=>
string(7) "1.00000"
["scale"]=>
int(5)
}
Види Исто така
- bcdivmod() - Земи го количникот и остатокот од број со произволна прецизност
- BcMath\Number::div() - Дели со број со произволна прецизност
- BcMath\Number::mod() - Земи го модулот на број со произволна прецизност