PHP code example of whallysson / money-precision

1. Go to this page and download the library: Download whallysson/money-precision library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

whallysson / money-precision example snippets




use Whallysson\Money\Money;

echo Money::fromCents(5660)->toDecimal() . PHP_EOL; // 56.60
echo Money::fromMinorUnits(5660)->toDecimal() . PHP_EOL; // 56.60
echo Money::fromDecimal('56.60')->toCents() . PHP_EOL; // 5660

echo Money::fromCents(56)->toDecimal() . PHP_EOL; // 0.56
echo Money::fromDecimal('56')->toCents() . PHP_EOL; // 5600



use Whallysson\Money\Money;

echo Money::parse('R$ 1.234,56')->toCents() . PHP_EOL; // 123456
echo Money::parse('$ 1,234.56', 'USD')->toDecimal() . PHP_EOL; // 1234.56
echo Money::parse('1.234,56 €', 'EUR')->toCents() . PHP_EOL; // 123456

Money::parse('R$ 1.23.4,56'); // throws InvalidArgumentException
echo Money::parseLenient('R$ 1.23.4,56')->toDecimal() . PHP_EOL; // 1234.56



use Whallysson\Money\Money;

$money = Money::fromDecimal('100.86');
$fee = Money::fromCents(5600);

echo $money->add($fee)->toDecimal() . PHP_EOL; // 156.86
echo $money->sub(Money::fromDecimal('0.86'))->toDecimal() . PHP_EOL; // 100.00
echo $money->toDecimal() . PHP_EOL; // 100.86



use Whallysson\Money\Money;
use Whallysson\Money\RoundingMode;

$money = Money::fromDecimal('100.86');

echo $money->mul('2', RoundingMode::HalfAwayFromZero)->toDecimal() . PHP_EOL; // 201.72
echo $money->div('2', RoundingMode::HalfAwayFromZero)->toDecimal() . PHP_EOL; // 50.43



use Whallysson\Money\Money;

$money = Money::fromDecimal('100.86');
$other = Money::fromDecimal('56.60');

var_dump([
    'equals' => $money->equals($other), // false
    'greaterThan' => $money->greaterThan($other), // true
    'lessThan' => $money->lessThan($other), // false
]);



use Whallysson\Money\Money;

echo Money::fromDecimal('100.86')->format() . PHP_EOL; // R$ 100,86
echo Money::fromDecimal('56.60', 'USD')->format() . PHP_EOL; // $ 56.60
echo Money::fromDecimal('356.78', 'EUR')->format() . PHP_EOL; // 356,78 €