js在保留小数位的基础上做四舍五入/四舍六入的方法

/**
* 在保留小数位的基础上做四舍五入的方法
*/
function Round(num, decimalPlaces) {
    // 将数字乘以10的decimalPlaces次方,以便处理小数部分
    const factor = Math.pow(10, decimalPlaces);
    const tempNumber = num * factor;
    // 使用标准的四舍五入
    const roundedTempNumber = Math.round(tempNumber);
    // 除以10的decimalPlaces次方,还原到原始的小数位
    return roundedTempNumber / factor;
}

/**
   * 在保留小数位的基础上做四舍六入
   */
function Rounding(number, decimalPlaces) {
    // 将数字乘以10的decimalPlaces次方,以便处理小数部分
    let factor = Math.pow(10, decimalPlaces);
    let tempNumber = number * factor;
    let decimalPart = tempNumber % 1; // 获取小数部分
    let integerPart = Math.floor(tempNumber); // 获取整数部分
    // 检查小数部分是否恰好为0.5
    if (decimalPart === 0.5) {
      // 检查整数部分的最后一位数字
      let lastDigit = integerPart % 10;
      // 如果是偶数则直接舍去小数部分,如果是奇数则进位
      tempNumber = lastDigit % 2 === 0 ? Math.floor(tempNumber) : Math.ceil(tempNumber);
    } else {
      // 使用标准的四舍五入
      tempNumber = Math.round(tempNumber);
    }
    // 除以10的decimalPlaces次方,还原到原始的小数位数
    return tempNumber / factor;
}