/** * @param Money|string|int|float $amount * @param Currency $currency * @param CurrencyConversionServiceInterface $currencyConversionService */ public function __construct($amount = '0', Currency $currency = null, CurrencyConversionServiceInterface $currencyConversionService = null) { $this->amount = Utils::toStringAmount($amount); $this->currency = $currency === null ? CurrencyFactory::makeDefault() : $currency; $this->currencyConversionService = $currencyConversionService === null ? CurrencyConversionServiceProvider::getCurrencyConversionService() : $currencyConversionService; }