@Hannskod

Как реализовать конвертор валют?

Подскажите как реализовать конвертор валют ?
Есть таблица 2 поля
give get
1 2.3
2.3 1
Как правильно считать ? в первом варианте умножать, во втором делить
Но как сделать логику чтоб она понимала когда нужно умножать а когда делить
  • Вопрос задан
  • 296 просмотров
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Всегда одна операция: коэффициент относительно одного параметра give или get.
1$ => 60руб (give).
1рубль => 1/60$ => 0,0166667(get)

Применительно к вашему примеру:
give get
1 2.3
1 1/2.3

gist
<?
function exchange($amount,$give,$get) {
  $exchanges=[
    'USD:RUB'=>60,
    'RUB:USD'=>1/60,
  ];

  $in=[$give.':'.$get=>$amount];
  $key=key($in);
  if ($amount>0 && $exchanges[$key]) {
     $out=$exchanges[$key]*$in[$key];
     return $out.' '.explode(':',$key,2)[1];
  } else return false;
}

if ($out=exchange(2,'USD','RUB')) echo $out;
else echo 'Обмен невозможен!';
?>
Ответ написан
@BorisKorobkov Куратор тега PHP
Web developer
Если курсы ЦБ, то в таблице хранить "валюта", "курс к 1 рублю", "значение".
Можно добавить "дата".
Если курсы обменника, то еще добавить "направление обмена" в рубли или из рублей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы