2015-05-12 34 views
4

這個問題可能有一個簡單的答案,但我似乎無法找到它。我有一個數字(美元數量),例如0.34,我想將它舍入到最近的X,也就是說如果X是0.15,我希望它舍入到0.15,0.3,0.45,0.6,0.75或0.9。這只是一個例子,我不想要那些確切的數字,我希望能夠使X在0.01和0.5之間變化,任何數字都可以四捨五入到增量。舍入到最接近的X

這個問題在這裏舍入到最接近的0.25這是我想買什麼我想要一個通用函數,將任何數字小數部分四捨五入到任何設置的分數。

round to nearest .25 javascript

Number.prototype.round2dec = function(x){ 
    return /* Do something to "this" to round to nearest x */; 
}; 
+0

如果將它修復爲小數點後兩位,你會好嗎? – Firedrake969

+1

嗯,答案是在你鏈接到的問題:http://stackoverflow.com/a/27861660/902497 –

+0

沒有不只是.25,但任何分數,所以這個問題沒有幫助 –

回答

3
Number.prototype.round2dec = function(x){ 
    return (Math.round(this * (1/x))/(1/x)); 
}; 

從給出的示例,4 = 1/(0.25),讓我擴大了圖案,以任何十

編輯 - 從通過尋找答案,我才意識到你做有一個答案,但不擴大prototype - round to nearest .25 javascript

+1

或者'return Math.round(this/x)* x;' – Bergi

+0

同意@Bergi,你的函數返回一個字符串,不需要那個修改。 – floribon

+0

好的,刪除它。 – Firedrake969