4slovo / money
money helper
v1.0.4
2019-04-15 07:47 UTC
Requires (Dev)
- phpunit/phpunit: 7.1.4
This package is not auto-updated.
Last update: 2024-12-17 18:42:50 UTC
README
Класс Money должен использоваться для денежных рассчётов. Деньги должны задаваться в минорных денежных единицах (копейках, центах, пенни и.т.д)
Доступные операции:
create - создание
$money = Money::create(100);
getAmount - получение суммы в минорных единицах
$result = Money::create(100)->getAmount(); // $result = 100 $result = Money::create(100.99)->getAmount(); // $result = 100
Сравнение
equal - сравнение равно
$result = Money::create(100)->equal(Money::create(100)); // $result = true
equalOrLess - сравнение меньше или равно
$result = Money::create(100)->equalOrLess(Money::create(1000)); // $result = true $result = Money::create(100)->equalOrLess(Money::create(100)); // $result = true $result = Money::create(1000)->equalOrLess(Money::create(100)); // $result = false
equalOrMore - сравнение больше или равно
$result = Money::create(100)->equalOrMore(Money::create(1000)); // $result = flase $result = Money::create(100)->equalOrMore(Money::create(100)); // $result = true $result = Money::create(1000)->equalOrMore(Money::create(100)); // $result = true
less - сравнение меньше
$result = Money::create(100)->less(Money::create(1000)); // $result = true $result = Money::create(100)->less(Money::create(100)); // $result = false $result = Money::create(1000)->less(Money::create(100)); // $result = false
more - сравнение больше
$result = Money::create(100)->more(Money::create(1000)); // $result = false $result = Money::create(100)->more(Money::create(100)); // $result = false $result = Money::create(1000)->more(Money::create(100)); // $result = true
Математические операции
add - операция сложение
$result = Money::create(100)->add(Money::create(100)); // $result = Money::create(200)
addList - операция сложение списка
$result = Money::create(100)->addList([ Money::create(100), Money::create(100) ]); // $result = Money::create(300)
sub - операция вычитание
$result = Money::create(300)->sub(Money::create(100)); // $result = Money::create(200)
subList - операция вычитание списка
$result = Money::create(500)->subList([ Money::create(100), Money::create(100) ]); // $result = Money::create(300)
round - операция округление
$result = Money::create()->round(1000/3); // $result = 333
mul - операция умножение
$result = Money::create(1000)->mul(1/3); // $result = Money::create(333)
dev - операция деление
$result = Money::create(1000)->div(3); // $result = Money::create(333)
Разбиение на части
allocate - операция разбиение на части
$result = Money::create(3500000)->allocate(3); // $result = [Money::create(1166700), Money::create(1166700), Money::create(1166600)]