我有一个函数可以将赋给函数的数字舍入到最近的整个便士。以10为底的舍入
<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>
但它已经到了我的注意,输入到该函数的表示号码只能四舍五入到最接近的一个便士但是它必须四舍五入至小数点后两位。
E.G.
15.236562213541684 would = 15.24 9846.65456169846 would = 9846.66
我认为这将只是改变 回报(Math.round(一)/ 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
可以
人函数做到以上?
Here是一个链接到当前的代码,我已经包括公式...它是一个非常古老的公式,当我第一次启动JavaScript时(这是前一段时间现在),但我仍然没有更好的现在作为那时我回来了。
任何人都可以清理它,看看他们是否可以看到为什么它不工作以匹配上面的功能?
“显然我错了。” 例子? – 2009-10-01 17:00:41
我认为你的代码实际上工作。也许你有一个旧脚本缓存? – 2009-10-01 17:23:49
上面使用的parseInt()会给出意想不到的结果,如果该数字以固定为零的ZERO – 2009-10-01 19:27:11