Example #1
0
 /**
  * @param $name
  * @param $args
  * @return String
  */
 protected function bcCalc($name, $args)
 {
     $value = current($args);
     if ($value instanceof number\Percentage) {
         switch ($name) {
             case 'bcmul':
             case 'bcdiv':
                 $value->bcdiv(100);
                 break;
             default:
                 $value->of($this);
                 break;
         }
     } elseif (!$value instanceof Number) {
         if (is_numeric($value)) {
             $value = new Number($value);
         } else {
             trigger_error('BC Functions must be compared with another Number or a valid number');
         }
     }
     if ($name == 'bcdiv' && $value->getValue() == 0) {
         $result = 0;
     } else {
         $result = $name($this->getValue(), $value->getValue(), $this->getPrecision());
     }
     return $result;
 }
Example #2
0
 public function testPreserve()
 {
     $num = new Number(123);
     $new_num = $num->preserve()->bcsub(23);
     $this->assertEquals(123, $num->getValue());
     $this->assertEquals(100, $new_num->getValue());
 }
Example #3
0
 public function getRealValue()
 {
     return parent::getValue();
 }