Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.05.2015, 18:36
Новичок на форуме
Отправить личное сообщение для Vilgelm Посмотреть профиль Найти все сообщения от Vilgelm
 
Регистрация: 04.05.2012
Сообщений: 7

Калькулятор прибыли с реинвестом
Доброго времени.

Пытаюсь сделать калькулятор прибыли с реинвестом.
То есть задача такая: пользователь задает сумму, проценты (в день) и срок (в месяцах). Происходит вычисление:
1. Вычисляем общую прибыль за первый месяц - (сумма*процент)+сумма;
2. Полученный результат принимаем за сумму и повторяем на заданное количество месяцев.
Пример:
Вкладываем 50 долларов на 3 месяца под 0.5% в день (15% в месяц).
1. (50*0.15)+50=57,5 //результат за первый месяц
2. (57,5*0,15)+57,5=66,125 //результат за второй месяц
3. (66,125*0,15)+66,125=76,04375 //результат за третий месяц
Итог: 76 долларов (округляем).

Вот как я пытаюсь это реализовать:
<script>
    function summ(){
        var summa= document.getElementById('summa').value;
        var srok= document.getElementById('srok').value;
        var proc= document.getElementById('proc').value;
	proc = proc*30; //переводим дневной процент в месячный
        if (summa!="" && srok!="" && proc!="" && summa % 50 == 0){ //проверяем, что все поля заполнены и сумма кратна 50
	    var i = 0;
	    while (i < srok) { //цикл
	    summa = ((summa*proc)+summa); //формула
            //alert(summa);
	    i ++
	    }
            var result_totall=Math.floor(summa); //округляем результат 
            document.getElementById('totall').innerHTML = " За весь период :" + result_totall; //выводим результат на экран
	} else {
	    alert( 'Сумма должна быть кратна 50' ); //если сумма не кратна 50 или поля не заполнены
    }
    }
    function onlyDigits() { //проверяем, что введены цифры
        this.value = this.value.replace(/[^\d]/g, "");
    }
    document.querySelector(".onlyDigits").onkeyup = onlyDigits
</script>

<div id="some"></div><br>
<div id="totall"></div><br>
    <input type="text" name="summa" id="summa" class = "onlyDigits" value=""><br>
    <input type="text" name="srok" id="srok" class = "onlyDigits" value=""><br>
    <input type="text" name="proc" id="proc"  value=""><br>
    <input type="button" onclick="summ();" value="raschet" name="raschet">


В итоге оно считает, но какую-то чушь. По шагам:
1. 1550
2. 4651550
3. 13954654651550
...
n. NaNInfinity
Результат: NaN

В js я, к сожалению, почти не умею, поэтому прошу помощи: в чем заключается ошибка?

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 19.05.2015, 23:23
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 458

Vilgelm, в строке 6 надо на 100 еще делить, а в строке 10 последнюю summa записать так +summa
Ответить с цитированием
  #3 (permalink)  
Старый 19.05.2015, 23:45
Новичок на форуме
Отправить личное сообщение для Vilgelm Посмотреть профиль Найти все сообщения от Vilgelm
 
Регистрация: 04.05.2012
Сообщений: 7

Rise, спасибо, все получилось!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает Калькулятор просчета отопления igor700 Общие вопросы Javascript 5 26.02.2014 16:18
Калькулятор стоимости Batyabest Events/DOM/Window 10 26.11.2013 14:31
Строительный калькулятор. dubrovski Общие вопросы Javascript 2 16.10.2013 08:50
Калькулятор просчета прибыли ExXxTaSy Общие вопросы Javascript 6 18.11.2012 20:47
Сделать калькулятор на сайт. asderru Работа 1 22.07.2010 13:46