如何截断 Jscript 中的浮点值?
例如。
var x = 9/6
现在 x 包含一个浮点数,它是 1.5。我想截断这个并将值设为 1
x = Math.floor(x)
这会将 x 的值向下舍入到下面最接近的整数。
Math.round()
应该实现你正在寻找的东西,但当然它会四舍五入1.5
到2
. 如果您总是想向下舍入到最接近的整数,请使用Math.floor()
:
var x = Math.floor(9 / 6);
Math.floor()
仅当数字为正时才按 OP 的预期工作,因为它向下舍入而不是向零舍入。因此,对于负数,Math.ceil()
必须使用。
var x = 9/6;
x = (x < 0 ? Math.ceil(x) : Math.floor(x));
另一种解决方案可能是:
var x = parseInt(9 / 6);
Wscript.StdOut.WriteLine(x); // returns 1
该parseInt()
函数的主要目的是将字符串解析为整数。所以我想它可能比Math.floor()
和这样的方法慢。