예제 #1
0
 /**
  * @param float|int $input
  * @param Currency $from
  * @param Currency $to
  * @return float|int
  */
 public static function convertCurrencies($input = 0, Currency $from, Currency $to)
 {
     if (0 === $input) {
         return $input;
     }
     if ($from->id !== $to->id) {
         $main = static::getMainCurrency();
         if ($main->id === $from->id && $main->id !== $to->id) {
             $input = $input / $to->convert_rate * $to->convert_nominal;
         } elseif ($main->id !== $from->id && $main->id === $to->id) {
             $input = $input / $from->convert_nominal * $from->convert_rate;
         } else {
             $input = $input / $from->convert_nominal * $from->convert_rate;
             $input = $input / $to->convert_rate * $to->convert_nominal;
         }
     }
     return $to->formatWithoutFormatString($input);
 }