/** * @inheritdoc */ protected function calculateValue(Value $value, Unit $targetUnit) : Value { $conversionMap = $targetUnit->getConvertUnitMap(); $valueToConvert = $value->getValue(); $valueUnitValue = $conversionMap[(string) $value->getUnit()]; $targetUnitValue = $conversionMap[(string) $targetUnit]; $convertedValue = bcdiv(bcmul($valueToConvert, $targetUnitValue, 5), $valueUnitValue, 2); return new Value($convertedValue, $targetUnit); }
public function __construct(Unit $valueUnit, Unit $targetUnit) { parent::__construct(sprintf(static::ERROR_MESSAGE, $valueUnit->getName(), $targetUnit->getName())); }