public function testMath() { $num = new Number(5); $num->bcadd(5); $this->assertEquals(10, $num->getValue()); $num->bcdiv(2); $this->assertEquals(5, $num->getValue()); $num->bcmul(3); $this->assertEquals(15, $num->getValue()); $num->bcsub(3); $this->assertEquals(12, $num->getValue()); $num->bcadd(3)->bcsub(10); $this->assertEquals(5, $num->getValue()); }
public function testPercentageIntegrations() { $percent = new \ebussola\common\datatype\number\Percentage(15); $number = new \ebussola\common\datatype\Number(500); $this->assertEquals('575,00', (string) $number->bcadd($percent)); $percent = new \ebussola\common\datatype\number\Percentage(15); $number = new \ebussola\common\datatype\Number(500); $this->assertEquals('425,00', (string) $number->bcsub($percent)); $percent = new \ebussola\common\datatype\number\Percentage(15); $number = new \ebussola\common\datatype\Number(500); $this->assertEquals('37.500,00', (string) $number->bcmul($percent)); $percent = new \ebussola\common\datatype\number\Percentage(15); $number = new \ebussola\common\datatype\Number(500); $this->assertEquals('6,67', (string) $number->bcdiv($percent)); }
/** * @param Number|Percentage|String $limitDown */ public function setLimitDown($limitDown) { if ($limitDown instanceof Percentage) { $limitDown = $limitDown->of($this->getValue()); } elseif (!$limitDown instanceof Number) { $limitDown = new Number($limitDown); } if ($limitDown->isPositive()) { $limitDown->bcmul('-1'); } $this->limitDown = $limitDown; }