我有一个除法的结果,我希望放弃结果数的小数部分。

我该怎么做呢?


当前回答

固定的会像圆的一样。

对于类似地板的行为使用%:

var num = 3.834234;
var floored_num = num - (num % 1); // floored_num will be 3

其他回答

如果不关心舍入,只需将数字转换为字符串,然后删除句号之后的所有内容,包括句号。不管有没有小数点,这个都成立。

const sEpoch = ((+new Date()) / 1000).toString();
const formattedEpoch = sEpoch.split('.')[0];

您可以使用. tofixed(0)来删除完整的小数部分或在参数中提供您希望小数被截断的数字。

注意:toFixed将数字转换为字符串。

以下是在上述帖子的帮助下详细解释的压缩:

1. Math.trunc():用于删除后面带点的数字。它隐式地转换。但是,在IE中不支持。

例子:

Math.trunc(10.5) // 10

Math.trunc(-10.5) // -10

其他可选方法:按位使用not运算符:

例子:

x = 5.5

~~x // 5

2. Math.floor():用于给出可能的最小整数值。所有浏览器都支持它。

例子:

Math.floor(10.5) // 10

Math.floor(-10.5) // -11

3.Math.ceil():用于给出可能的最高整数值。所有浏览器都支持它。

例子:

Math.ceil(10.5) // 11

Math.ceil(-10.5) // -10

4. Math.round():四舍五入到最接近的整数。所有浏览器都支持它。

例子:

Math.round(10.5) // 11

Math.round(-10.5)// -10

Math.round(10.49) // 10

Math.round(-10.51) // -11

固定的会像圆的一样。

对于类似地板的行为使用%:

var num = 3.834234;
var floored_num = num - (num % 1); // floored_num will be 3

使用Math.round()。

(亚历克斯的回答更好;我做了一个假设:)