js四舍五入取0和5的整数

文章展示了四个JavaScript函数,从中级到菜鸟级别,分别用于处理数字,使其符合特定规则。中级函数检查num是否能被5整除,高级函数将数字除以5后取整,骨灰级函数使用位操作快速取整,而菜鸟级别的代码则针对特定情况调整数字的最后一位。

1、中级

      const fn = (num) => num % 5 === 0 ? num : num - num % 5;

2、高级

       const fn1 = (num) =>parseInt(num / 5) * 5;

3、骨灰级

      const fn = (num) =>~~(num / 5) * 5

4、菜鸟

      const MAXarr = String(parseInt(Number(data.numMAX) - 5)).split('');
      if (MAXarr[MAXarr.length - 1] > '0' && MAXarr[MAXarr.length - 1] < '5') {
            MAXarr[MAXarr.length - 1] = '0'
      }else if(MAXarr[MAXarr.length - 1] > '5' && MAXarr[MAXarr.length - 1] < '9'){
            MAXarr[MAXarr.length - 1] = '5'
      }
JavaScript 提供了多种方法来实现数字的四舍五入整。以下是几种常用的方法: ### 使用 `Math.round()` `Math.round()` 函数可以将一个数字四舍五入到最接近的整数。例如: ```javascript console.log(Math.round(1.4)); // 输出: 1 console.log(Math.round(1.5)); // 输出: 2 console.log(Math.round(-1.4)); // 输出: -1 console.log(Math.round(-1.5)); // 输出: -1 ``` 这种方法适用于大多数需要四舍五入的情况,但需要注意的是,对于 `.5` 结尾的数字,`Math.round()` 会根据数值的奇偶性来决定是进位还是舍去,这与银行家舍入法一致[^4]。 ### 使用 `toFixed()` 方法 `toFixed(n)` 方法可以将数字转换为字符串,并且保留 `n` 位小数。如果 `n` 是 0,则可以用来实现四舍五入整的效果。例如: ```javascript console.log((1.4).toFixed()); // 输出: "1" console.log((1.5).toFixed()); // 输出: "2" console.log((-1.4).toFixed()); // 输出: "-1" console.log((-1.5).toFixed()); // 输出: "-1" ``` 需要注意的是,`toFixed()` 返回的是字符串形式的结果,如果需要得到数字类型,还需要进一步转换[^4]。 ### 自定义函数实现精确四舍五入 如果你发现 `Math.round()` 或 `toFixed()` 在某些情况下不能满足需求(比如遇到特定的浮点数问题),你可以自定义一个函数来实现更精确的四舍五入逻辑。以下是一个示例函数: ```javascript function customRound(number) { return Math.sign(number) * Math.floor(Math.abs(number) + 0.5); } // 使用示例 console.log(customRound(1.4)); // 输出: 1 console.log(customRound(1.5)); // 输出: 2 console.log(customRound(-1.4)); // 输出: -1 console.log(customRound(-1.5)); // 输出: -2 ``` 这个自定义函数通过 `Math.sign()` 来处理正负数的不同情况,并且利用了 `Math.floor()` `Math.abs()` 来确保正确的四舍五入行为。 ### 使用 `parseInt()` `parseFloat()` 虽然 `parseInt()` 主要用于解析字符串中的整数部分,但在一些简单的情况下也可以结合 `parseFloat()` 使用以达到四舍五入的效果。不过这种方法并不推荐,因为它不会真正执行四舍五入操作,而是直接截断小数部分。 ### 注意事项 - 对于非常大的数字或者需要高精度计算的情况,建议使用专门的数学库如 `decimal.js` 或 `big.js`。 - 如果你的应用涉及到财务计算或其他对精度要求极高的场景,请务必测试所有可能的输入值,以确保所选方法能够正确处理。 通过上述方法,你可以根据具体需求选择合适的方式来实现 JavaScript 中的四舍五入整功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值