/** * Divides $this by $divisor and returns a new value object. * Uses the default rounding method (ROUND_HALF_EVEN) which is preferred for financial calculations. * @param Money|int|float|string $divisor * @return Money|string */ public function divide($divisor) { if ($divisor instanceof Money) { return $this->mathProvider->divide($this->getValue(), $divisor->getValue(), MathProvider::ROUND_MODE_NONE); } else { return new static($this->mathProvider->divide($this->getValue(), (string) $divisor), $this->mathProvider); } }
public function testAbs() { $oneDollar = new Money('100', $this->mathProvider); $this->assertEquals('100', $oneDollar->abs()); $negativeOneDollar = new Money('-100', $this->mathProvider); $this->assertEquals('-100', $negativeOneDollar->getValue()); $this->assertEquals('100', $negativeOneDollar->abs()); }