public function convertTo(Currency $targetCurrency, $conversionRate) { self::assertNumeric($conversionRate); $amount = bcmul($this->amount, (string) $conversionRate, self::SCALE); return new Money($amount, $targetCurrency); }