沧州网站建设推广,指数基金定投技巧,杭州网站建设设计制作,做网站需要绑定电脑ip吗向零取整方式
在JavaScript中#xff0c;有多种方式可以对数字进行取整操作#xff0c;即去掉小数部分#xff0c;只保留整数部分。其中#xff0c;向0取整#xff08;也称为截断小数部分#xff09;的方式有以下几种常用的方法#xff1a; 使用 Math.trunc()#xff… 向零取整方式
在JavaScript中有多种方式可以对数字进行取整操作即去掉小数部分只保留整数部分。其中向0取整也称为截断小数部分的方式有以下几种常用的方法 使用 Math.trunc()Math.trunc() 方法会去掉一个数字的小数部分返回其整数部分但不进行四舍五入。 let num 4.9;
let truncated Math.trunc(num); // 4
console.log(truncated); 使用按位运算符 |按位或 按位运算符 | 在处理数字时会将操作数转换为32位整数从而截断小数部分。 let num 4.9;
let truncated num | 0; // 4
console.log(truncated); 使用双波浪号 ~~ 双波浪号 ~~ 也是一种按位取整的方式效果与 | 类似会截断小数部分。 let num 4.9;
let truncated ~~num; // 4
console.log(truncated); 综上所述最推荐的方法是使用 Math.trunc()因为它语义明确代码易读且性能较好。其他方法虽然也能实现向0取整的效果但在可读性和维护性上可能稍逊一筹。 常见取整函数
在JavaScript中有多种方法可以对数字进行取整操作。这些方法各有特点适用于不同的场景。以下是常见的几种取整函数及其详解
Math.floor() 功能向下取整即返回小于或等于给定数字的最大整数。语法Math.floor(x)示例 console.log(Math.floor(4.9)); // 输出: 4
console.log(Math.floor(-4.1)); // 输出: -5 Math.ceil() 功能向上取整即返回大于或等于给定数字的最小整数。语法Math.ceil(x)示例 console.log(Math.ceil(4.1)); // 输出: 5
console.log(Math.ceil(-4.9)); // 输出: -4 Math.round() 功能四舍五入即返回最接近给定数字的整数。语法Math.round(x)示例 console.log(Math.round(4.5)); // 输出: 5
console.log(Math.round(4.4)); // 输出: 4
console.log(Math.round(-4.5)); // 输出: -4 Math.trunc() 功能移除小数部分只保留整数部分不进行四舍五入。语法Math.trunc(x)示例 console.log(Math.trunc(4.9)); // 输出: 4
console.log(Math.trunc(-4.1)); // 输出: -4 位运算符取整 功能通过位运算符 |、^、、~、、、 可以将浮点数转换为整数相当于去掉小数部分类似 Math.trunc但仅对32位整数有效。示例 console.log(4.9 | 0); // 输出: 4
console.log(-4.1 | 0); // 输出: -4 注意位运算符取整仅适用于32位整数范围-231-1超出范围会导致精度丢失。 双否定Double Negation 功能通过双否定操作将浮点数转换为整数相当于 Math.trunc。示例 console.log(~~4.9); // 输出: 4
console.log(~~-4.1); // 输出: -4 注意双否定操作对超出JavaScript安全整数范围的数字无效。字符串转换 功能通过字符串转换并截取整数部分来取整。示例 console.log(parseInt(4.9)); // 输出: 4
console.log(parseInt(-4.1)); // 输出: -4 注意这种方法依赖于字符串转换性能可能不如其他内置方法。toFixed() 后转整数 功能通过 toFixed() 方法将数字转换为指定小数位数的字符串然后转换为整数。示例 const num 4.9;
console.log(parseFloat(num.toFixed(0))); // 输出: 5
const num2 -4.1;
console.log(parseFloat(num2.toFixed(0))); // 输出: -4 注意toFixed() 方法返回的是字符串需要再次转换为数字。
总结 Math.floor()向下取整。Math.ceil()向上取整。Math.round()四舍五入。Math.trunc()移除小数部分。位运算符通过位操作移除小数部分32位整数范围内有效。双否定通过双否定操作移除小数部分32位整数范围内有效。字符串转换通过字符串转换并截取整数部分。toFixed() 后转整数通过 toFixed() 方法转换为字符串后再转为整数。 每种方法都有其适用的场景和限制选择时需根据具体需求进行权衡。