Math.round() 的替代方法

-2 html javascript rounding

在 JavaScript 中,当值为 4.3 时,我希望它四舍五入为 4,如果值为 4.5 或以上,则四舍五入为 5。我希望所有这一切都不使用Math.round().

Jon*_*lms 6

你也可以这样做:

round=num=>(num-~~num>=0.5?1:0)+~~num;
Run Code Online (Sandbox Code Playgroud)

解释:

~~num
Run Code Online (Sandbox Code Playgroud)

是一个双位或,实际上它删除了点后面的所有内容,所以 1.5 => 1

num-~~num
Run Code Online (Sandbox Code Playgroud)

获取到下一个较小整数的距离,例如 5.4 => 0.4, 5.6 => 0.6

一些测试用例:

http://jsbin.com/gulegoruxi/edit?console