【发布时间】:2021-09-02 13:49:49
【问题描述】:
我想在不使用 ceil()、floor() 等 JavaScript 函数的情况下将浮点数转换为整数
let a = 5.7
console.log(Math.ceil(a)); console.log(Math.floor(2.3))
【问题讨论】:
-
所以你基本上是想重写
ceil和floor? -
为什么?
Math.ceil()和Math.floor()有什么问题? -
你是想像 ceil 那样四舍五入(所以 5.7 会给出 6,但 5.0001 也会给出 6)还是实际四舍五入(到最接近的 0.5)或 ....?跨度>
-
如果您查看 JS 如何存储数字,您会发现它完全使用 64 位。您可以通过 JS 位运算获得一些方法。例如,请参阅@Spectric 的答案,它可以让您达到一定大小。出于许多实际目的,这将是可以的,但是由于按位运算使用 32 位,因此您会丢失部分范围,并且指数部分会完全丢失。您对数字大小有什么限制?
-
您可以查看
toFixed,例如:(5.7).toFixed(0); // 6。
标签: javascript function reverse