我想将一个数字四舍五入到最接近的数字0.5
。并不是每一个要素0.5
,只是在0.5
秒。
例如,0.5, 1.5, 2.5, -1.5, -2.5
。不 1, 1.5, 2, 2.5
。
我只是在解释它而感到困惑,所以这里是一些预期输出的例子。
0.678 => 0.5
0.999 => 0.5
1.265 => 1.5
-2.74 => -2.5
-19.2 => -19.5
我没有运气尝试过以下代码,
let x = 1.296;
let y = Math.round(x);
let z = y + Math.sign(y) * .5; // 1.5 (Correct!)
let x = -2.6;
let y = Math.round(x);
let z = y + Math.sign(y) * .5; // -3.5 (WRONG, should be -2.5)
该代码在我看来很有意义,但不适用于负数。我想念的东西会使这项工作吗?
首先,您可以将整数舍入为
let x = 1.296;
let y = Math.round(x);
然后,您可以先减去0.5,然后四舍五入,然后再加上0.5
let x = 1.296;
let y = Math.round(x-0.5);
let z = y + 0.5;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句