У меня есть функция для округления числа, данного функции, до ближайшего целого пенса.
<script type='text/javascript'>
Math.roundNumber = function(a,b){
if(!isNaN(parseInt(a))){
c = Math.pow(10,b);
return (Math.round(a*c)/c);
}
return false;
}
</script>
однако мне стало известно, что указанное число, введенное в функцию, должно быть округлено только до ближайшего пенса, однако оно должно быть округлено до двух десятичных знаков.
Е.Г.
15.236562213541684 would = 15.24
9846.65456169846 would = 9846.66
Я думал, что это просто случай изменения
возврат (Math.round (a c) / c);
к
return (Math.ceil (a c) / c);
Очевидно, я был очень неправ.
Любая помощь в этом вопросе?
** РЕДАКТИРОВАТЬ **
Вот формула, которой я пытаюсь достичь, может быть, это поможет
a = intrest price
b = terms
c = a/b
d = c*(b-1)
e = a-d
так например
a = 295.30
b = 156
c = 295.30/156 = 1.90 (rounded up to nearest decimal as above)
d = 1.90 * (b-1) = 294.50
e = 295.30 - 294.50 = 0.80
Может кто-нибудь исправить функцию, чтобы сделать выше?
Здесь - это ссылка на текущий код, который у меня есть, включая формулу ... это очень старая формула, которую я создал, когда впервые запустил JavaScript (что недавно было сейчас), однако я все еще не лучше сейчас, так как я был тогда.
Может кто-нибудь почистить его, чтобы узнать, может ли он понять, почему он не работает, чтобы соответствовать функции, указанной выше?