diff --git a/src/Money.php b/src/Money.php index 071584b..7ebc0da 100644 --- a/src/Money.php +++ b/src/Money.php @@ -10,6 +10,7 @@ use Money\Currency; use Money\Formatter\DecimalMoneyFormatter; use Money\Formatter\IntlMoneyFormatter; +use Money\MoneyFormatter; use NumberFormatter; /** @@ -333,6 +334,18 @@ public function formatSimple(Currencies $currencies = null) return $formatter->format($this->money); } + /** + * Format by formatter. + * + * @param \Money\MoneyFormatter $formatter + * + * @return string + */ + public function formatByFormatter(MoneyFormatter $formatter) + { + return $formatter->format($this->money); + } + /** * Json serialize. * diff --git a/tests/MoneyTest.php b/tests/MoneyTest.php index 0c17c05..8d9c9b0 100644 --- a/tests/MoneyTest.php +++ b/tests/MoneyTest.php @@ -4,6 +4,7 @@ use Money\Currencies\ISOCurrencies; use Money\Currency; +use Money\Formatter\DecimalMoneyFormatter; /** * @covers \Cknow\Money\Money @@ -76,4 +77,11 @@ public function testFormatSimple() $this->assertEquals('1.00', Money::BRL(100)->formatSimple(Money::getCurrencies())); $this->assertEquals('1.00', Money::BRL(100)->formatSimple()); } + + public function testFormatByFormatter() + { + $formatter = new DecimalMoneyFormatter(Money::getCurrencies()); + + $this->assertEquals('1.00', Money::BRL(100)->formatByFormatter($formatter)); + } }