js小数点精度函数

374 阅读1分钟
changeTwoDecimal_f(x) {
        let price = String(x);
        price = price
          .replace(/[^\d.]/g, "") // 清除“数字”和“.”以外的字符
          .replace(/\.{2,}/g, ".") // 只保留第一个. 清除多余的
          .replace(".", "$#$")
          .replace(/\./g, "")
          .replace("$#$", ".")
          .replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); // 只能输入两个小数
        if (price.indexOf(".") < 0 && price != "") {
          // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
          price = parseFloat(x);
        }
        return Number(price).toFixed(2);
      },