Math.round的替代方法()
答
你可以做到这一点
function RoundNum(number){
var c = number % 1;
return number-c+(c/1+1.5>>1)*1
}
console.log(RoundNum(2.456));
console.log(RoundNum(102.6));
console.log(RoundNum(203.515));
答
你也可以这样做:
round=num=>(num-~~num>=0.5?1:0)+~~num;
说明:
~~num
是一个双位或,实际上它,以便1.5 => 1
num-~~num
获取到下一个较小的整数的距离,所以例如删除点后面一切5.4 => 0.4,5.6 => 0.6
一些测试用例:
有什么不对Math.round()? – Greg
其任务,我们必须做,而不使用math.round –
这可以通过使用Math中的其他函数或使用字符串格式来实现。 –