Javascript:上下取整到最接近的5,然后找到一个公分母
我在寻找一种方法,上下取整到最接近的5,然后找到这两个数字的一个伟大的共同点。 我需要它作为图表上y-skale的标题 这是我目前的代码:Javascript:上下取整到最接近的5,然后找到一个公分母,javascript,jquery,rounding,Javascript,Jquery,Rounding,我在寻找一种方法,上下取整到最接近的5,然后找到这两个数字的一个伟大的共同点。 我需要它作为图表上y-skale的标题 这是我目前的代码: function toN5( x ) { var i = 1; while( x >= 100 ) { x/=10; i*=10; } var remainder = x % 5; var distance_to_5 = (5 - remainder) % 5; retu
function toN5( x ) {
var i = 1;
while( x >= 100 ) {
x/=10;
i*=10;
}
var remainder = x % 5;
var distance_to_5 = (5 - remainder) % 5;
return (x + distance_to_5) * i;
}
目标是这样的:
最大值(四舍五入至最接近的5)
另一种方法是四舍五入-最小值(四舍五入到最接近的5)
然后我想找到一个公约数,比如250或500
0->250->500->750->1000->1250->1500
或:
有办法做那样的事吗?非常感谢如果要将x四舍五入到最接近的500,可以将其除以500,四舍五入到最接近的整数,然后再乘以500:
x_rounded = 500 * Math.round(x/500);
若要将其四舍五入到最接近的y,请将500替换为y:
希望我的数学是正确的,但这里有各种“取整”的方法 使用以下命令,您可以将任意数字向上或向下舍入到任意数字的最接近倍数:
$scm.round(要舍入的数字).toNearest(要舍入的倍数)代码>
例如,如果要将536四舍五入到最接近的500,可以使用:
$scm.round(536).toNearest(500)代码>1379.8四舍五入到最接近的5将是1380。你是说“精确到500”吗?你说的“精确到5”是什么意思?在第一个和第二个示例中,实际上是四舍五入到最接近的500。或者精确到250,这取决于你如何看待它。听起来不错,但问题是,这些值可能很大,也可能很小。例如1500和0.23。那么您需要更具体地告诉我们您希望如何对数字进行四舍五入。目前,你的问题实际上并没有说出你的意思。回答得很好。如果我想精确到0.05或0.1,我只需要做0.05*的数学运算。四舍五入(x/0.05)谢谢你的回答。像这样的问题太糟糕了,闭嘴吧。这显然是在帮助人们。哦,我才意识到这个问题是5年前提出来的。管理员可以关闭它吗?似乎没有任何活动。。。
41.8 -> 0
0 -> 500 -> 1000 -> 1500
x_rounded = 500 * Math.round(x/500);
x_rounded = 250 * Math.round(x/250);
function sigfig(n, sf) {
sf = sf - Math.floor(Math.log(n) / Math.LN10) - 1;
sf = Math.pow(10, sf);
n = Math.round(n * sf);
n = n / sf;
return n;
}
function precision(n, dp) {
dp = Math.pow(10, dp);
n = n * dp;
n = Math.round(n);
n = n / dp;
return n;
}
function nearest(n, v) {
n = n / v;
n = Math.round(n) * v;
return n;
}