记录一些实用的js工具函数

保留小数(不四舍五入)

由于 JS 浮点数计算并不精准,导致小数在计算过程中容易出现误差,例如有道经典的面试题就是: 0.1 + 0.2 !== 0.3 目前解决方案为,将小数转成字符串,截取对应的位数即可。

// 保留小数(不四舍五入)
/**
 *
 * @param {Number} num 要处理的数字
 * @param {Number} decimal 需要截取的小数位数
 * @returns {Number} 截取小数位后的数字
*/
formatDecimal(num, decimal) {
  let result = num.toString();
  const index = result.indexOf('.');
  if (index !== -1) {
    result = result.substring(0, decimal + index + 1);
  } else {
    result = result.substring(0);
  }
  return parseFloat(result);
}