我有一個函數可以將賦給函數的數字舍入到最近的整個便士。以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