Округление на кратное число.
Ребята нужен Ваш совет и помощь.
Проблема такая: есть курса обмена очков на баллы 3500 баллов = 1 очко есть два поля. одно ввода баллов , другое для вывода очков соглсно курса Есть минимальное значение ввода, оно равно 35 единицам. при вводе минимального значение в поле вывода отображается значение 0.01 очков если человек вводит меньше 35 то ему не дает, так как прописан минимум. Если вводить от 35 то все ок, Но беда в том что если вводить к примеру 53 ему округляет до 0,02 очков. как можно сделать чтобы данный обмен был кратен 35. т.е. при вводе любого значения от 35 до 70 выдавало 0.01 очко, начиная с 70 и до 105 - 0.02 и так далее. чтобы халявщики не вводили 53 и получали 0.02 вместо положенных 70 |
Math.floor как я понимаю тут не подойдет. так как он все будет округлять до целых и таким образом при вводе 35 баллов он не выдаст 0.01 очко а округлит до 0
важно именно наличие сотых в дроби. |
alert(Math.floor(53 / 35) / 100); alert(Math.floor(70 / 35) / 100); alert(Math.floor(105 / 35) / 100); |
Домножь на 100, отбрось дробную часть (Math.floor), затем обратно подели на 100. Помоему даже пятиклассник такую задачу осилит), хе хе)
|
сейчас такой вид
document.getElementById("sum").value = (sum/rate).toFixed(2); |
danik.js, к сожалению я в этом не то что пятиклассник Я ДНО)))
|
:(
|
Я же тебе написал решение, что не так?
|
оно выдает предупреждением. как я понимаю из-за алерта.
и не правильно рассчитывает все равно. у меня оно имеет сейчас такой вид: document.getElementById("sum").value = (sum/rate).toFixed(2); |
Сферический developer в вакууме:D
|
:nono:
|
:(
|
ideveloper, :cray:
document.getElementById("sum").value = Math.floor(sum/rate)/100; |
Часовой пояс GMT +3, время: 00:21. |