votemike / money
A class for dealing with Money (a combination of a value and a currency)
Installs: 19 750
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 1
Open Issues: 4
Requires
- php: ^7
- symfony/intl: ^2.0 || ^3.0 || ^4.0
Requires (Dev)
- phpbench/phpbench: ^0.13.0
- phpunit/phpunit: ^5.3
This package is not auto-updated.
Last update: 2024-11-18 08:06:41 UTC
README
Pass in an amount and currency to the Money object to create an immutable object. Perform actions with the object. Deals with different units/rounding of different currencies. Formats money for display Please use GitHub to raise any issues and suggest any improvements.
Install
Via Composer
$ composer require votemike/money
Usage
$money = new Money(99.999999, 'GBP');
$add = $money->add(new Money(20, 'GBP'));
$sub = $money->sub(new Money(20, 'GBP'));
$multiply = $money->multiply(3);
$divide = $money->divide(3);
$abs = $money->abs();
$inv = $money->inv();
$percentage = $money->percentage(20);
$round = $money->round();
list($first, $second, $third) = $money->split(20, 33.33);
$money = new Money(99.50, 'JPY');
$money->format(); //¥100
$money->formatWithSign(); //+¥100
$money->getAmount(); //99.50
$money->getCurrency(); //JPY
$money->getRoundedAmount(); //100
$money = new Money(9500, 'USD');
$money->formatShorthand(); //$10k
$money = new Money(-9.500, 'USD');
$money->formatForAccounting(); //(9.50)
Credits
License
The MIT License (MIT). Please see License File for more information.