Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Здравствуйте.

Необходимо придумать формулу расчета или создать js-скрипт для web со следующими исходными данными:

Калькулятор-конвертер для переводов/конвертирования электронных денег

Условия расчета:

Параметры "ком_исходной_системы" и "ком_результирующей_системы":

Фиксированная сумма, % от суммы обмена, минимальная сумма при установленном % (мин_сумма), максимальная сумма при установленном % (макс_сумма).

Алгоритм вычисления ком_исходной_системы и ком_результирующей_системы:

Если фиксированная_сумма не равна нулю, от суммы_обмена отнимается (прибавляется при обратном расчете) фиксированная_сумма.

В противном случае вычисляется % от суммы_обмена.

Если мин_сумма не равна нулю и вычесленный % от суммы_обмена меньше мин_суммы, то % от суммы_обмена приравнивается к мин_сумме.

Если макс_сумма не равна нулю и вычесленный % от суммы_обмена больше макс_суммы, то % от суммы_обмена приравнивается к макс_сумме.

наша_комиссия_% - равен установленном % от суммы_обмена

скидка_клиента_% - представляет собой установленный процент от нашей_комиссии_%. 100% скидки_клиента_% равна нашей_комиссии_%.

При скидка_клиента_% не равной нулю наша_комиссия_% вычисляется следующим образом: наша_комиссия_% - ((наша_комиссия_% / 100) * скидка_клиента_%).

Формула расчета при введенной исходной сумме:

(исходная_сумма_в_валюте_исходной_системы - ком_исходной_системы)/ (курс_результирующей_системы / курс_исходной_системы) - (наша_комиссия_% - ((наша_комиссия_% / 100) * скидка_клиента_%)) - ком_результирующей_системы = результирующая_сумма_в_валюте_результирующей_системы

Формула расчета при введенной результирующей сумме:

(результирующая_сумма_в_валюте_результирующей_системы + ком_результирующей_системы) * (курс_исходной_системы / курс_результирующей_системы) + (наша_комиссия_% - ((наша_комиссия_% / 100) * скидка_клиента_%)) + ком_результирующей_системы = исходная_сумма_в_валюте_исходной_системы

ВАЖНО! Опишу ситуацию на простом примере. Возьмем курс доллара к рублю равным 28,1778. Тогда 30 рублей деленае на курс 28,1778 с ограничением (не округлением!!!) до второго знака после запятой равны 1,06. При обратном расчете 1,06 * 28,1778 равно 29,86, но при расчете 29,86 / 28,1778 результирующая сумма будет равняться 1,05. Проблема наглядна и округления (использование floor, ceil, round) не дадут точного результата при ВСЕХ возможных вариантах. Требуется проводить корректировку.

ЗАДАНИЕ: Написать на javascript (учитывая особенности поведения javascript в разных браузерах) калькулятор, по заданной формуле, который обеспечит точные вычисления при ВСЕХ возможных вариациях как исходной, так и результирующей сумм

Задача сделать так, чтобы независимо от того, в какое поле мы вводим сумму ("результирующая_сумма_в_валюте_системы" или "исходная_сумма_в_валюте_системы") был точен как прямой расчет, так и обратный. В этом и основная проблема, т.к. прямой просчет без проблем получается, а "обратный", когда мы вводим сумму в "результирующая_сумма_в_валюте_системы" учитывая количество преобразований /просчетов и ограничений на длину строки с плавающей запятой в JS -- сумма получается незначительно отличающаяся (несколько копеек), приходиться делать корректировки .... И все равно как-то убого получается, так быть не должно...

Могу предоставить ссылку на сайт, где необходимо это сделать при личном общении.

13 лет назад
cashelec
Наталья 
37 летРоссия
13 лет в сервисе
Была
8 лет назад
  • Похожие заказы
  • $100

    Здравствуйте, уважаемые фрилансеры! Вот пришел черед такого модуля, приступим. Пользовательская часть: - На сайте есть кнопка "Добавить свою категорию", надо что бы при клике по ссылке, открывалась страница /addcategory.html, в которой предлогалось заполнить следующие поля: ...

    Завершен
    13 лет назад
  • $20

    Есть DLE-forum 2.5, его надо перевести на IPB 3.1.4 Сам форум мааааленький, находится тут: http://forum.vectormm.net/ Штатного конвертера нет, но вроде можно переделать какой-то из существующих: http://www.invisionpower.com/suite/convert.php Есть дамп базы - всего 600 Кб.

    Закрыт
    13 лет назад
  • $2500

    Необходимо автоматизировать или упростить работу агентов, занимающихся обменом жилья. 1. Автоматизация сбора и выдачи информации через существующий сайт: форма сбора информации об объекте - внесение этой информации в базу - выдача информации из базы: а. авоматично ...

    Закрыт
    13 лет назад
  • Нужно собрать базу данных(название фирмы, email - как минимум)с конкретных зарубежных сайтов с конкретных под категории. Объем большой и сроки короткие, поэтому ручной режим не интересует. Для более подробной информация: Email: [email protected] моб: 0636106898 Skype: redartxerof

    Закрыт
    13 лет назад
  • Задача заключается в следующем: 1. Есть сайт, созданные при помощи CMS Joomla 1.5.23 2. Есть форум Invision power Board 3.1.3 Необходимо сделать общую авторизацию на сайте и на форуме. Т. е. чтобы пользователь, который зарегистрировался на сайте, мог ...

    Завершен
    13 лет назад
  • $50

    Необходимо сделать форму поиска товаров с помощью связанных списков. Функционал аналогично как у вконтакте. Выбираем страну, становится активным город. Здесь 3 списка. Первый это товар. Если товар не выбран, то остальные пункты не активные. Выбираем ...

    Закрыт
    13 лет назад
  • $8

    Глубоко в плагине генерируется контактная форма. В ней несколько чекбоксов с заданными id и классами. - Если выбрано больше трёх чекбоксов, скрипт должен динамически отобразить блок с текстом. - Если человек после этого "отжал" чекбоксы и их стало ...

    Закрыт
    13 лет назад
  • 1 Круг должен быть похож на солнце, когда на него смотрят через телескоп. Вращается и пылыхает, внутри жизнь кипит. 2 По бокам 5 штырей из каждого штырька огонь типа как в фильмах мужики в пешерах с ...

    Закрыт
    13 лет назад