WHAT – 关于 JavaScript 向上取整和向下取整

WHAT – 关于 JavaScript 向上取整和向下取整介绍关于 JavaScript 向上取整和向下取整的内容 包括几种对数值取整的方法 包括 trunc 二进制或操作符等 js 向下取整

大家好,欢迎来到IT知识分享网。

一、介绍:Math.ceil 和 Math.floor

JavaScript中,你可以使用 Math.ceil()Math.floor() 来进行向上取整和向下取整。

  • Math.ceil() 函数会返回大于或等于给定数字的最小整数。
  • Math.floor() 函数会返回小于或等于给定数字的最大整数。

例如:

console.log(Math.ceil(5.2)); // 输出: 6 console.log(Math.floor(5.9)); // 输出: 5 

这两个函数对处理数字进行取整非常有用,尤其在涉及到需要整数结果的计算或显示时。

其他输入示例:

console.log(Math.floor('123')); // 输出: 123 console.log(Math.ceil(NaN)); // 输出: NaN console.log(Math.floor(Infinity)); // 输出: Infinity console.log(Math.ceil(5.2)); // 输出: 6 console.log(Math.ceil(-5.2)); // 输出: -5 console.log(Math.floor(5.9)); // 输出: 5 console.log(Math.floor(-5.9)); // 输出: -6 

二、其他方法

0. Math.round

Math.round 是 JavaScript 中的一个内置方法,用于将一个数值四舍五入到最接近的整数。这个方法是 Math 对象的一部分,Math 对象是 JavaScript 提供的一个内置对象,它包含了数学常数和函数。

Math.round(x) 
  • 参数:
    • x:要四舍五入的数字。
  • 返回值:
    • 返回 x 四舍五入到最近的整数。如果 x 的小数部分等于或大于 0.5,则返回下一个更大的整数;如果小数部分小于 0.5,则返回较小的整数。
console.log(Math.round(4.2)); // 输出: 4 console.log(Math.round(4.5)); // 输出: 5 console.log(Math.round(4.7)); // 输出: 5 console.log(Math.round(-4.2)); // 输出: -4 console.log(Math.round(-4.5)); // 输出: -4 console.log(Math.round(-4.7)); // 输出: -5 
  • 正数:
    • 4.2 小数部分是 0.2,小于 0.5,因此四舍五入到 4
    • 4.5 小数部分是 0.5,等于 0.5,四舍五入到 5
    • 4.7 小数部分是 0.7,大于 0.5,四舍五入到 5
  • 负数:
    • -4.2 小数部分是 0.2,小于 0.5,四舍五入到 -4
    • -4.5 小数部分是 0.5,等于 0.5,四舍五入到 -4(远离零)。
    • -4.7 小数部分是 0.7,大于 0.5,四舍五入到 -5

1. Math.trunc

Math.trunc() 是 JavaScript 中的另一个取整函数,它用于去除一个数字的小数部分,返回整数部分。

Math.ceil()Math.floor() 不同的是,Math.trunc() 不会对数字进行四舍五入,而是直接截取掉小数部分,返回整数部分。这在一些场景比 ceil 和 floor 都更合适。

举个例子:

console.log(Math.trunc(5.2)); // 输出: 5 console.log(Math.trunc(-5.9)); // 输出: -5 console.log(Math.trunc(0.9)); // 输出: 0 console.log(Math.trunc(-0.9)); // 输出: 0 

需要注意的是,Math.trunc() 可以将正数的小数部分截取掉,也可以将负数的小数部分截取掉,而不是简单地向上或向下取整。

2. 二进制 OR 操作符

可以利用 Bitwise OR 操作符 (|) 来向下取整。例如,x | 0 可以将 x 向下取整,包括负数。

console.log(5.2 | 0); // 输出: 5 console.log(5.9 | 0); // 输出: 5 console.log(-5.9 | 0); // 输出: -5 console.log(-5.2 | 0); // 输出: -5 

关于二进制操作符更多内容可以阅读 HOW – 二进制位运算符优化计算

3. parseInt()

parseInt() 函数可以将字符串解析为整数。对于负数,如果传递给 parseInt() 的字符串以负号开头,它将返回该负数的整数部分,即向下取整。

console.log(parseInt(5.2)); // 输出: 5 console.log(parseInt(5.9)); // 输出: 5 console.log(parseInt(-5.9)); // 输出: -5 console.log(parseInt(-5.2)); // 输出: -5 

补充一下,parseInt()parseFloat() 是 JavaScript 中用于将字符串转换为整数和浮点数的函数,它们之间的区别在于:

  1. parseInt()
    • 用于将字符串转换为整数。
    • 会从字符串的开头开始解析,直到遇到非数字字符为止。
    • 可以接受第二个参数,表示解析时使用的基数(进制),默认为十进制。
    • 如果字符串以 “0x” 或 “0X” 开头,会被解释为十六进制数。
    • 如果字符串以 “0” 开头且不是 “0x” 或 “0X”,会被解释为八进制数(在严格模式下不推荐使用)。

    举个例子:

    console.log(parseInt('10')); // 输出: 10 console.log(parseInt('10.123')); // 输出: 10 console.log(parseInt('0xF')); // 输出: 15 (十六进制) console.log(parseInt('010')); // 输出: 8 (八进制,在严格模式下不推荐使用) 
  2. parseFloat()
    • 用于将字符串转换为浮点数。
    • 会从字符串的开头开始解析,直到遇到非数字字符为止。
    • 只能解析十进制数,无法解析十六进制或八进制。
    • 可以解析小数点后的数字。

    举个例子:

    console.log(parseFloat('3.14')); // 输出: 3.14 console.log(parseFloat('3.14abc')); // 输出: 3.14 console.log(parseFloat('abc3.14')); // 输出: NaN 

总的来说,parseInt() 主要用于将字符串转换为整数,而 parseFloat() 主要用于将字符串转换为浮点数。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122102.html

(0)
上一篇 2025-10-19 11:33
下一篇 2025-10-19 12:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信