Javascript 四舍五入到最近的X

Javascript 四舍五入到最近的X,javascript,Javascript,这个问题可能有一个简单的答案,但我似乎找不到。我有一个数字(美元金额),比如0.34,我想把它四舍五入到最接近的X,这意味着如果X是0.15,我希望它四舍五入到0.15,0.3,0.45,0.6,0.75或0.9。这只是一个例子,我不想要那些精确的数字,我想让X在0.01到0.5之间,任何数字都可以四舍五入到那个增量 这个问题在这里四舍五入到最接近的0.25,这是我想要买的,我想要一个通用函数,将任何数字的小数部分四舍五入到任何集合分数 根据给出的示例,4=1/(0.25),因此我将该模式扩展

这个问题可能有一个简单的答案,但我似乎找不到。我有一个数字(美元金额),比如0.34,我想把它四舍五入到最接近的X,这意味着如果X是0.15,我希望它四舍五入到0.15,0.3,0.45,0.6,0.75或0.9。这只是一个例子,我不想要那些精确的数字,我想让X在0.01到0.5之间,任何数字都可以四舍五入到那个增量

这个问题在这里四舍五入到最接近的0.25,这是我想要买的,我想要一个通用函数,将任何数字的小数部分四舍五入到任何集合分数

根据给出的示例,4=
1/(0.25)
,因此我将该模式扩展到任意X


编辑-通过查看答案,我刚刚意识到您确实有答案,但没有扩展
原型
-。

如果将其固定到小数点后2位,您是否可以?嗯,答案在您链接到的问题中:不,不仅仅是0.25,而是任何分数,所以这个问题不存在help@DustinPoissant:请阅读它。另请参见-它是Python,但数学是相同的。或者更确切地说,
返回math.round(this/x)*x
同意@Bergi,你的函数返回一个字符串,不需要固定。在你删除了.toFixed()之后,这是完美的。它不会让我接受这个答案,但显然我必须等待一定的时间,但我会将此标记为正确答案如果你想四舍五入到最接近的
0.15
,那么
x
将是什么?
Number.prototype.round2dec = function(x){
  return /* Do something to "this" to round to nearest x */;
};
Number.prototype.round2dec = function(x){
  return (Math.round(this * (1/x)) / (1/x));
};