我有这个功能,我用它来找到一个好的仪表最大值。
function findGoodMax(x) {
var y = Math.pow(10, x.toString().length - 1);
x = (x/y);
x = Math.ceil(x);
x = x*y;
return x || 10;
}
findGoodMax(33) //=> 40
findGoodMax(76) //=> 80
findGoodMax(543) //=> 600
findGoodMax(1734) //=> 2000
问题是:
findGoodMax(0.1) //=> 100
findGoodMax(0.00001) //=> 1000000
如何修改我的函数以处理小数?
另外,我想
if (x > 10 && x < 100) {
x = 100;
}
其他小数位数也是如此,基本上应该四舍五入到最接近的 10 次方。
处理负数也很好,所以-0.1会输出0,-0.01会输出-0.1,至少我认为这是有道理的。