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()); }
/** * @param Number|integer $number * @return self */ public function add($number) { if (!$number instanceof Number) { $number = new Number($number); } $real_value = new Number($this->getRealValue()); $this->setValue($real_value->bcadd($number)->getValue()); return $this; }
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)); }