Value Object that represents a positive amount of Euro.
To add this package as a local, per-project dependency to your project, simply add a
dependency on wmde/euro
to your project's composer.json
file.
Here is a minimal example of a composer.json
file that just defines a dependency on
Euro 1.x:
{
"require": {
"wmde/euro": "^1.0.1"
}
}
Constructing from Euro cents (int):
$productPrice = Euro::newFromCents(4200);
Constructing from a Euro amount (float):
$productPrice = Euro::newFromFloat(42.00);
Constructing from a Euro amount (string):
$productPrice = Euro::newFromString('42.00');
Constructing from a Euro amount (int):
$productPrice = Euro::newFromInt(42);
echo $productPrice->getEuroCents();
// 4200 (int) for all above examples
echo $productPrice->getEuroFloat();
// 42.0 (float) for all above examples
echo $productPrice->getEuroString();
// "42.00" (string) for all above examples
Euro::newFromCents(4200)->equals(Euro::newFromInt(42));
// true
Euro::newFromCents(4201)->equals(Euro::newFromInt(42));
// false
For tests only
composer test
For style checks only
composer cs
For a full CI run
composer ci
- Large numbers now cause an InvalidArgumentException rather than a TypeError
- Bumped minimum PHP version from 7.0 to 7.1
- Internal changes to avoid dealing with floats when constructing an Euro object from string
- Fixed rounding issue occurring on some platforms
- Initial release