js实现round
JavaScript 实现 round 方法
JavaScript 中的 Math.round() 方法用于将数字四舍五入到最接近的整数。以下是其实现细节和使用示例。
基本用法
Math.round() 接收一个数字参数,返回四舍五入后的整数:
Math.round(4.7); // 返回 5
Math.round(4.4); // 返回 4
负数处理
Math.round() 同样适用于负数:
Math.round(-4.7); // 返回 -5
Math.round(-4.4); // 返回 -4
实现原理
Math.round() 的内部逻辑可以简化为:
- 对正数:加 0.5 后取整。
- 对负数:减 0.5 后取整。
代码模拟实现:
function customRound(x) {
return x >= 0 ? Math.floor(x + 0.5) : Math.ceil(x - 0.5);
}
四舍五入到指定小数位
通过缩放因子实现保留小数位:

function roundToDecimal(num, decimals) {
const factor = Math.pow(10, decimals);
return Math.round(num * factor) / factor;
}
roundToDecimal(1.2345, 2); // 返回 1.23
边界情况
NaN输入返回NaN。- 空值或非数字输入需先转换为数字:
Math.round(parseFloat("4.7")); // 处理字符串输入
浏览器兼容性
所有现代浏览器均支持 Math.round(),包括 IE6+。无需额外 polyfill。






