/** * @dataProvider validStrings */ public function testCorrectlyParsesStrings($number, $value, $scale, $string) { $number = new Decimal($number); $this->assertEquals($value, $number->value()); $this->assertEquals($scale, $number->scale()); $this->assertEquals($string, (string) $number); }
/** * div * * @param Decimal $divisor * * @return Decimal */ public function div(Decimal $divisor) { if ($divisor->signum() === 0) { throw new \InvalidArgumentException('Division by zero'); } $scale = min($this->scale + $divisor->scale(), self::MAX_SCALE); return new static(bcdiv($this->value, $divisor->value(), $scale), $scale); }