我有一个函数可以将给函数的数字四舍五入到最接近的整便士。
<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 = 15.24 9846.65456169846 = 9846.66
我认为这只是改变回报的情况(Math.round(a c)/c);返回 (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 时制定的一个非常古老的公式(这是不久前的事了)但是我现在仍然没有更好,因为我那时.
任何人都可以清理它,看看他们是否能看到为什么它不能与上面的功能匹配?