Math.floor()向下取整、Math.ceil 向上取整、Math.round() 四舍五入、parseInt(str) 将字符串解析成整数。

Math.floor() 它的核心作用是向下取整

console.log(Math.floor(4.9));   // 输出: 4
console.log(Math.floor(4.1));   // 输出: 4
console.log(Math.floor(4.0));   // 输出: 4
console.log(Math.floor(0.5));   // 输出: 0
console.log(Math.floor(-0.5));  // 输出: -1  (特别注意负数!)
console.log(Math.floor(-4.1));  // 输出: -5 (特别注意负数!)

Math.ceil向上取整

console.log(Math.ceil(3.1));    // 4

console.log(Math.ceil(-3.1));   // -3  (注意不是 -4)
console.log(Math.ceil(-3.9));   // -3  (注意不是 -4)

console.log(Math.ceil(0.1));    // 1
console.log(Math.ceil(-0.1));   //  0

Math.round() 四舍五入的方式;返回离 x 最近的整数

也就是说:正数四舍五入看大小,负数四舍五入看距离
正数 x.5 向上取(变多),负数 x.5 也向上取(变少负);在 JS 里这个“上”统一指“正方向”

console.log(Math.round(-4.4));   // -4 (小数部分 < 0.5,向上取整,即 -4)
console.log(Math.round(-4.5));   // -4 (⭐ 关键!不是 -5,而是 -4)
console.log(Math.round(-4.6));   // -5 (小数部分 > 0.5,向下取整,即 -5)
console.log(Math.round(-5.5));   // -5 (⭐ 关键!不是 -6,而是 -5)

parseInt(str) 它的核心任务是将字符串解析(Parsing)成整数。

从第一个有效字符开始,依次读取,直到遇到非数字字符才停止,不再往后看。
注意点: parseInt永远记得写 radix(进制基数)
如果字符串以 0x 开头,当作十六进制解析;

console.log(parseInt("42"));       // 42
console.log(parseInt("42.9"));     // 42 (注意:直接截断小数,不四舍五入)
console.log(parseInt("  42px"));   // 42 (忽略前导空格,读到非数字停)
console.log(parseInt("abc"));      // NaN (第一个字符就不是数字)

parseInt(str, radix) 写上进制基数

// ✅ 绝对安全的写法:永远带上基数
console.log(parseInt("010", 10));   // 10
console.log(parseInt("0x10", 10));  // 0 (因为遇到 x 停止,解析为 0)
console.log(parseInt("10", 16));    // 16 (手动指定十六进制,读 10 转成 16)
posted @ 2026-08-16 16:43  南风晚来晚相识  阅读(8)  评论(0)    收藏  举报