您管这叫“四舍五入”?“最高位向下取整”还差不多。
js 内置的函数可不管你这种细致的需求,肯定得自己写。
不想用 if,行,有数学的方法,上面那货说的字符串也算一种。
先说字符串的,因为这种方法最简单:
缺点是,不支持负数和小数,我猜你也不需要。当然要支持也可以,但你也不想写 if,对吧?
然后是数学的,这个只支持14位数,但也只比上边那个方法少了一位而已,想要支持无穷无尽的位数,你得上 BigInt,然后这个方法就不能用了。
缺点是,不接受 0。当然要支持也可以,但你也不想写 if,对吧?
第一个的优缺点:
改造一下可以支持负数和小数,如果用 BigInt 可以支持超大数,但只能支持整数
速度较慢,14万次参考用时 26±3 ms
不支持超过 15 位数
第二个的优缺点:
改造一下可以接受 0,天生支持小数和负数,速度较快,14万次参考用时 12±2 ms
不支持超过 14 位数
如果你真的一个 if 都不想写,那这两种方法都有问题,就看你需求有多宽。
可有什么用呢?不过是内置函数替你承担了 if 而已。