|
NO NAME
|
|
8 февраля 2011 10:57
|
|
Итак, пример из жизни:
я меняю 500 рублей по курсу 267 грн за 1000 рублей, итого получаю 133.5 грн., система же, как мы видим, выдаёт нам курс не гривен к рублю, а наоборот. Я бы ещё понял если бы это обуславливалось тем что у меня рубль - основная валюта на период обмена, но нет.
Почему бы не высчитывать курс так: "купили" / "потратили". А то у вас, насколько я понимаю просто большее число делится на меньшее.
Пример:
Купили: 100 грн
Потратили: 500 Руб
Купили: 500 грн
Потратили: 100 Руб
в обоих случаях Курс равен 5
Где логика?
И ещё не очень понятно зачем округление в большую сторону в журнале операций? вводить в заблуждение?
|
|
|
|
Admin
|
|
8 февраля 2011 12:47
|
|
Здравствуйте!
Не однозначный вопрос. Действительно сейчас большее делится на меньшее. Это оправдано, т.к. большей частью меняют рубли на USD или на EUR, и в этом случае удобнее, если курс будет соответствовать тому, какой он в обменниках, независимо от того, покупаем ли мы доллары или продаём.
Но за информацию спасибо, возьмём на заметку.
Насчёт округления - вскоре будет настройка показывать копейки или округлять до целого.
|
|
|
|
NO NAME
|
|
8 февраля 2011 12:53
|
|
Интересно, это откуда же вы сделали вывод что большей частью меняют рубли на USD или на EUR? А что если обмен будет производиться наоборот? Вы не считаете, что в данном случае будет показываться неверный курс? потерь в ресурсах не будет, если вы измените одно деление, на другое, но результат будет верным. Так логичнее, вам не кажется?
|
|
|
|
NO NAME
|
|
8 февраля 2011 12:58
|
|
Купили: 100 грн
Потратили: 500 Руб
Курс: 5
В данном случае получается что 1 руб = 5 грн., следовательно при продаже 500 руб. мы должны получить 500*5 = 2500 грн., исходя из Вашей тактики мышления получается именно так, но результат заведомо неверен, потому как денег по факту мы получили в 25 раз меньше!
|
|
|
|
Admin
|
|
8 февраля 2011 13:02
|
Иван Пишет: А что если обмен будет производиться наоборот? Обратите внимание, на прошлый ответ: ".. независимо от того, покупаем ли мы доллары или продаём.."
Сейчас: купили 1000 руб за 30 USD - курс в районе 30 руб; купили 30 USD за 1000 руб - курс опять в районе 30 руб. Всё хорошо.
Если всегда делить купили/потратили то, во втором случае курс будет 0.03, это никому ни о чём не скажет, не привычно.
|
|
|
|
NO NAME
|
|
8 февраля 2011 13:48
|
Администратор Пишет: во втором случае курс будет 0.03, это никому ни о чём не скажет, не привычно. ну Вы меня поражаете честное слово. разумеется что как только у нас результат от деления float с целой частью равной нулю, его нужно домножить на 1000, и получатся те самые ваши 30 в данном случае.
Такой способ при работе с соотношением гривна <=> рубль будет давать верный результат:
500 рублей по курсу 267 грн за 1000 рублей, итого получаю 133.5 грн.
133.5/500*1000 = 267
|
|
|
|
Admin
|
|
8 февраля 2011 13:57
|
Иван Пишет: его нужно домножить на 1000 Нет, это не даст общепринятый курс, выдаваемый ЦБ. Проверьте сами для курса евро, например.
Понятно, что для гривна <=> рубль, удобнее так, как говорите вы, но пока для большинства пользователей это будет неудобно.
Подумаем как и ваш случай предусмотреть.
|
|
|
|
NO NAME
|
|
8 февраля 2011 14:07
|
Администратор Пишет: Проверьте сами для курса евро, например. Да, немного погорячился с обобщением на все валюты. В таком случае можно выделить группы комбинаций валют (самых часто используемых), по общим признакам.
к примеру:
группа 1: EUR - руб, руб - EUR ...
группа 2: гривна - рубль, рубль - гривна, USD - руб, руб - USD ...
правила к
группа 1: большее / меньшее
группа 2: покупка / продажа * 1000
|
|
|
|
Ilyan
|
|
9 февраля 2011 09:03
|
|
Правило простое:
Если одна из валют - валюта по умолчанию, курс должен быть к ней. Т. е. если один человек живет в России (валюта по умолчанию - рубль), а другой - на Украине (валюта по умолчанию - гривна), то при одинаковом обмене рублей на гривны (или наоборот, неважно), курсы обмена для них должны быть РАЗНЫМИ (обратными).
В остальных случаях выбор порядка в паре сложнее, но и менее важен.
Кстати, если бы вы поддерживали сортировку валют, то в подавляющем большинстве случаев правильным порядком валют при определении курса был бы порядок валют в списке пользователя.
|
|
|
|
Ilyan
|
|
9 февраля 2011 09:14
|
|
Хотя есть исключения. Например, в паре евро-доллар курс считается в долларах даже в США:
http://www.federalreserve.gov/releases/h10/Current/default.htm
|
|
|
|
Ilyan
|
|
9 февраля 2011 09:42
|
|
Кстати, курс надо округлять не до 2 знака после запятой, а до 4 значимого, например:
29.25 (USD/руб)
3.677 (UAH/руб)
0.3564 (JPY/руб)
0.009713 (BYR/руб)
А в оформлении обмена валют использовать пустое место по словом "Курс", например:
Курс: 29.25
1 USD/руб
|
|
|
|
NO NAME
|
|
9 февраля 2011 23:12
|
Ilyan Пишет: Если одна из валют - валюта по умолчанию, курс должен быть к ней. ну вот тут пожалуй не соглашусь, на мой взгляд курс должен применяться к валюте, которую покупают.
ИМХО, если я еду в другую страну отдыхать, но валюта у меня по умолчанию рубли, а курс будет в обменниках применяться к валюте той страны, где я отдыхаю, то в дребеденьгах будет довольно затруднительно видеть курс в рублях, переводить его в уме и сравнивать с тем, что был в обменнике.
Уважаемые админы, когда вы планируете поправить описанные мною в этой теме баги?
|
|
|
|
Ilyan
|
|
9 февраля 2011 23:19
|
|
А зачем переводить, сравнивать? Курс в дребеденьгах - это не калькулятор, а дополнительная информация для уже совершенного обмена. И подсказка эта нужна в привычных величинах - для того, чтобы при просмотре истории обменов двух валют все курсы были к одной из них.
P. S. То, что вы описали - не является багами.
|
|
|
|
NO NAME
|
|
9 февраля 2011 23:28
|
Ilyan Пишет: То, что вы описали - не является багами. А чем же это является? Если я вижу в обменнике курс 267 грн за 1000 рублей, а дребеденьги мне показывают 3,75 рублей за 1 гривну. Как по мне, так это вообще ни разу не информативно и вводит в заблуждение. тем более, что ваше замечание по поводу точности до 4 знака в мантиссе уж точно следует принять во внимание.
|
|
|
|
Ilyan
|
|
9 февраля 2011 23:31
|
|
Какая разница, какой курс был в обменнике? Не случайно ведь в дребеденьгах при внесении обмена валют указывается НЕ КУРС, а конкретные суммы в обеих валютах. Курс - это только доп. информация и удобнее его видеть ВСЕГДА в одном формате (всегда к одной из валют в паре).
Представьте что вы продаете валюту не в другой стране, а в своей, никуда не уезжая. Вы ведь не захотите видеть непонятный обратный курс. Точно так же и заграницей - совершив обмен по непривычному обратному курсу, вам будет гораздо удобнее воспринимать информацию в привычном виде.
|
|
|
|
Ilyan
|
|
9 февраля 2011 23:33
|
|
Я не понял ваш пример: где вы живете, где обмениваете валюту и какая ваша валюта по умолчанию?
|
|
|
|
NO NAME
|
|
9 февраля 2011 23:43
|
|
валюта по умолчанию - рубль, но даже если я изменю её на гривну - результат будет всё равно 3,75 рублей за 1 гривну. То есть в итоге мы имеем, что курс даже не зависит от валюты по умолчанию.
Даже если бы я жил на Украине и хотел видеть тот самый курс 267 - это бы не произошло, что на мой взгляд не верно. Полностью с вами согласен, что это только дополнительная информация, но она должна отображаться как следует, в противном случае этим сервисом будут пользоваться сугубо росияне.
|
|
|
|
Ilyan
|
|
10 февраля 2011 08:03
|
|
1. Если ваша валюта по умолчанию - рубль, значит при операциях с гривной вам должен быть "привычнее" именно курс ~3.75 руб за грн, также, как и ~30 руб за USD или ~40 руб за EUR, так как именно он используется во всех обменниках в России.
2. Я как раз и предлагаю, чтобы при изменении валюты по умолчанию на гривну, курс менялся на 0.267.
|
|
|
|
NO NAME
|
|
10 февраля 2011 10:07
|
Ilyan Пишет: Я как раз и предлагаю, чтобы при изменении валюты по умолчанию на гривну, курс менялся на 0.267 Ну вот и я за это же!
Только вот непонятно, что по этому поводу думают админы.
|
|
|
|
Admin
|
|
10 февраля 2011 11:10
|
|
Точность до 4-го знака - сделаем. Остальное пока под вопросом.
|
|
|
|
Ilyan
|
|
10 февраля 2011 12:08
|
|
А в чем сложность сделать курс к основной валюте (если она одна из валют обмена)?
|
|
|