解决小数间运算误差的问题

2019-10-17  本文已影响0人  zkzhengmeng
此方法是小数之间减法运算(可更换运算符) 运算结果保留2位小数且不四舍五入
例如: 2.4566 则取2.45
addNum (num1, num2,num3) {
          let sq1, sq2,sq3, multiple;
          try {
              sq1 = num1.toString().split(".")[1].length;
          }
          catch (e) {
              sq1 = 0;
          }
          try {
              sq2 = num2.toString().split(".")[1].length;
          }
          catch (e) {
              sq2 = 0;
          }
          try {
              sq3 = num3.toString().split(".")[1].length;
          }
          catch (e) {
              sq3 = 0;
          }
          multiple = Math.pow(10, Math.max(sq1, sq2,sq3) + 1);
          return   Math.floor(parseFloat((num1 * multiple - num2 * multiple -num3 * multiple) / multiple)*100)/100;
      },

//使用方式  addNum(5.88 , 3.33 , 2.22)
上一篇下一篇

猜你喜欢

热点阅读