找到一个数字的整数部分

24 javascript

如何在JavaScript中找到给定小数或其他数字的整数?

Given  Result
-----  ------
1.2    1

1.5    1

1.9    1

对正数和负数执行此操作的最佳方法是什么?

Rob*_*ssa 43

使用Math.floor(数字).

  • number> 0?Math.floor(number):Math.ceil(number)用于处理负面情况(如果需要) (10认同)

Nob*_*bik 12

你也可以使用 newNumber = parseInt(number, 10);

  • 你总是用parseint规定base参数,例如parseInt(number,10).如果不这样做,零填充数字可能会解析为八进制数. (14认同)

voi*_*oid 7

在 ES6 中Math.trunc(),此函数通过删除任何小数位来返回数字的整数部分。

这与Math.floor()处理负数的while不同。

console.log(Math.trunc(3.14)); // 3

console.log(Math.trunc(-3.14)); // -3
console.log(Math.floor(-3.14)); // Here floor gives -4.
Run Code Online (Sandbox Code Playgroud)

所以基本上你可以摆脱写这个更长的表达式

number > 0 ? Math.floor(number) : Math.ceil(number)
Run Code Online (Sandbox Code Playgroud)


gum*_*ins 6

按位运算符 - 正数的最短语法,具有数字<= 2 ^ 31-1的整数部分

~~1.2 // 1
~~1.5 // 1
~~1.9 // 1

1.2>>0 // 1
1.5>>0 // 1
1.9>>0 // 1

1.2|0 // 1
1.5|0 // 1
1.9|0 // 1
Run Code Online (Sandbox Code Playgroud)

超过2 ^ 31-1的值将返回不正确的结果.


dan*_*man 5

对于负数,你可以使用Math.abs(num),它会从一开始就敲掉 - 符号