/** * @dataProvider getCurrencyData */ public function testCurrency($alpha3, $factor, $decimalDigits) { $currency = new ISO4217Currency($alpha3); $this->assertSame($alpha3, $currency->getAlpha3()); $this->assertSame($factor, $currency->getFactorOfSmallestUnit()); $this->assertSame($decimalDigits, $currency->getDecimalDigits()); }
/** * Convenience method to get money object using float amount and currency alpha 3 string * * @param float $amount Converted amount, e.g. 4.20 * @param string $currency Alpha 3 string for currency, e.g. EUR * @param integer $mode Rounding mode * * @return Money */ public static function fromDefaultUnitAmount($amount, $currency, $mode = PHP_ROUND_HALF_UP) { $currency = new ISO4217Currency($currency); $amount = (int) round($amount * $currency->getFactorOfSmallestUnit(), 0, $mode); return new Money($amount, $currency); }