Сообщение от Dilettante_Pro
|
KEMPZOR,
Откуда у вас такие цифры?
Сумма :<input id="sum" type = "text" value = "232"><br>
<input type="button" value="Считать" onclick = "calc();"><br>
<div id = "result"></div>
<script>
function calc() {
var summa = +sum.value, period = 6;
// if(summa < 35 || Math.floor(summa / 5) * 5 != summa) {
// alert("Сумма должна быть кратной 5, не меньше 35");
// result.innerHTML = "";
// return;
// }
var tempPay, currentPay, lastPay;
tempPay = summa / period;
currentPay = Math.floor(tempPay / 5) * 5;
if (currentPay < 35) currentPay = 35;
period = Math.round(summa / currentPay);
currentPay = currentPay + 5;
do {
currentPay = currentPay - 5;
lastPay = summa - currentPay * period;
} while ( lastPay < 35 && lastPay != 0);
if (currentPay < 35) { currentPay = 30;
do {
currentPay = currentPay + 5;
period = Math.floor(summa / currentPay);
lastPay = summa - currentPay * period;
} while (lastPay != 0 && lastPay < 35);
}
result.innerHTML = "";
for (var i = 0; i < period; i++) {
result.innerHTML += i + " - " + currentPay + "<br>";
}
result.innerHTML += i + " - " + lastPay + "<br>";
}
</script>
|
Я его переделал с возможностью выбора через select количества месяцев, пост №19.
<select class="select-month" name="month">
<option value="2">1</option>
<option value="3">2</option>
<option value="4">3</option>
<option value="5">4</option>
<option value="6">5</option>
<option value="7">6</option>
</select>
0 - 160
1 - 160
2 - 160
3 - 160
4 - 160
5 - 160
6 - 40
Это правильно.
Я сделал по своему примеру, у меня так показывает.
1000/7=142.85
Ближайшее 140 * 6 = 840
1000-840 = 160
0 - 140
1 - 140
2 - 140
3 - 140
4 - 140
5 - 140
6 - 160.00
Но вот меньше 244 некорректно.