let digital = {} //浮点数相加 digital.floatAdd = (arg1, arg2) => { var r1, r2, m; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)); return (arg1 * m + arg2 * m) / m; }, //浮点数相减 digital.floatSub = (arg1, arg2) => { var r1, r2, m, n; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)); n = (r1 >= r2) ? r1 : r2; return ((arg1 * m - arg2 * m) / m).toFixed(n) }, //浮点数相乘 digital.floatMul=(arg1, arg2)=> { var m = 0; var s1 = arg1.toString(); var s2 = arg2.toString(); try { m += s1.split(".")[1].length; } catch (e) {} try { m += s2.split(".")[1].length; } catch (e) {} return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m); }, //四舍五入保留2位小数(不够位数,则用0替补) digital.keepTwoDecimalFull = num => { var result = parseFloat(num) if (isNaN(result)) { return false } result = Math.round(num * 100) / 100 var s_x = result.toString() var pos_decimal = s_x.indexOf('.') if (pos_decimal < 0) { pos_decimal = s_x.length s_x += '.' } while (s_x.length <= pos_decimal + 2) { s_x += '0' } return s_x } export default digital