UNPKG

myprint-design

Version:

操作简单,组件丰富的一站式打印解决方案打印设计器

1 lines 10.7 kB
{"version":3,"file":"numberUtil.mjs","sources":["../../../../src/utils/numberUtil.ts"],"sourcesContent":["const MathCalc = {\n\n toFixed(x: number, scale = 2) {\n return parseFloat(x.toFixed(scale));\n },\n ceil(x: number, scale = 2) {\n let pow = Math.pow(10, scale);\n return Math.ceil(x * pow) / pow;\n },\n /**\n ** 加法函数,用来得到精确的加法结果\n ** 说明:javascript 的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。\n ** 调用:sum(arg1,arg2)\n ** 返回值:arg1 加上 arg2 的精确结果\n **/\n sumScale(arg1 = 0, arg2 = 0, scale = 2) {\n return this.sum(this.toFixed(arg1, scale), this.toFixed(arg2, scale));\n },\n sum(arg1 = 0, arg2 = 0) {\n let r1, r2;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n const c = Math.abs(r1 - r2);\n const m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n const cm = Math.pow(10, c);\n if (r1 > r2) {\n arg1 = Number(arg1.toString().replace('.', ''));\n arg2 = Number(arg2.toString().replace('.', '')) * cm;\n } else {\n arg1 = Number(arg1.toString().replace('.', '')) * cm;\n arg2 = Number(arg2.toString().replace('.', ''));\n }\n } else {\n arg1 = Number(arg1.toString().replace('.', ''));\n arg2 = Number(arg2.toString().replace('.', ''));\n }\n return (arg1 + arg2) / m;\n },\n /**\n ** 减法函数,用来得到精确的减法结果\n ** 说明:javascript 的减法结果会有误差,在两个浮点 g2)会比较明显。这个函数返回较为精确的减法结果。\n ** 调用:sub(arg1,arg2)\n ** 返回值:arg1 加上 arg2 的精确结果\n **/\n subScale(arg1 = 0, arg2 = 0, scale = 2) {\n return this.sub(this.toFixed(arg1, scale), this.toFixed(arg2, scale));\n },\n sub(arg1: number, arg2: number) {\n let r1, r2;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n const c = Math.abs(r1 - r2);\n const m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n const cm = Math.pow(10, c);\n if (r1 > r2) {\n arg1 = Number(arg1.toString().replace('.', ''));\n arg2 = Number(arg2.toString().replace('.', '')) * cm;\n } else {\n arg1 = Number(arg1.toString().replace('.', '')) * cm;\n arg2 = Number(arg2.toString().replace('.', ''));\n }\n } else {\n arg1 = Number(arg1.toString().replace('.', ''));\n arg2 = Number(arg2.toString().replace('.', ''));\n }\n return (arg1 - arg2) / m;\n },\n /**\n ** 乘法函数,用来得到精确的乘法结果\n ** 说明:javascript 的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。\n ** 调用:mul(arg1,arg2)\n ** 返回值:arg1 乘以 arg2 的精确结果\n **/\n mul(arg1: number, arg2: number, scale = 2) {\n let m = 0;\n const s1 = arg1.toString();\n const s2 = arg2.toString();\n try {\n m += s1.split('.')[1].length;\n } catch (e) {\n // console.log('🚀85 行 e ➡️', e)\n }\n try {\n m += s2.split('.')[1].length;\n } catch (e) {\n // console.log('🚀90 行 e ➡️', e)\n }\n return this.toFixed(((Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) /\n Math.pow(10, m)\n ), scale);\n },\n /**\n ** 除法函数,用来得到精确的除法结果\n ** 说明:javascript 的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。\n ** 调用:div(arg1,arg2)\n ** 返回值:arg1 除以 arg2 的精确结果\n **/\n div(arg1: number, arg2: number, scale = 2) {\n let t1 = 0,\n t2 = 0;\n try {\n t1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n // console.log('🚀109 行 e ➡️', e)\n }\n try {\n t2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n // console.log('🚀114 行 e ➡️', e)\n }\n const r1 = Number(arg1.toString().replace('.', ''));\n const r2 = Number(arg2.toString().replace('.', ''));\n return this.toFixed((r1 / r2) * Math.pow(10, t2 - t1), scale);\n },\n\n limitMin(val: number, min: number) {\n return val < min ? min : val;\n },\n isNumber(value: any) {\n return !isNaN(value);\n }\n};\nexport default MathCalc;\n\nexport function _default<T = any>(val: T, _default: T) {\n return val ? val : _default;\n}\n\nexport function _defaultNum(val: number, _default: number) {\n return !val || isNaN(val) ? _default : val;\n}\n"],"names":["_default"],"mappings":"AAAA,MAAM,QAAW,GAAA;AAAA,EAEb,OAAA,CAAQ,CAAW,EAAA,KAAA,GAAQ,CAAG,EAAA;AAC1B,IAAA,OAAO,UAAW,CAAA,CAAA,CAAE,OAAQ,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,GACtC;AAAA,EACA,IAAA,CAAK,CAAW,EAAA,KAAA,GAAQ,CAAG,EAAA;AACvB,IAAA,IAAI,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,EAAA,EAAI,KAAK,CAAA,CAAA;AAC5B,IAAA,OAAO,IAAK,CAAA,IAAA,CAAK,CAAI,GAAA,GAAG,CAAI,GAAA,GAAA,CAAA;AAAA,GAChC;AAAA,EAOA,SAAS,IAAO,GAAA,CAAA,EAAG,IAAO,GAAA,CAAA,EAAG,QAAQ,CAAG,EAAA;AACpC,IAAO,OAAA,IAAA,CAAK,GAAI,CAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,EAAM,KAAK,CAAA,EAAG,IAAK,CAAA,OAAA,CAAQ,IAAM,EAAA,KAAK,CAAC,CAAA,CAAA;AAAA,GACxE;AAAA,EACA,GAAI,CAAA,IAAA,GAAO,CAAG,EAAA,IAAA,GAAO,CAAG,EAAA;AACpB,IAAA,IAAI,EAAI,EAAA,EAAA,CAAA;AACR,IAAI,IAAA;AACA,MAAA,EAAA,GAAK,KAAK,QAAS,EAAA,CAAE,KAAM,CAAA,GAAG,EAAE,CAAG,CAAA,CAAA,MAAA,CAAA;AAAA,aAC9B,CAAP,EAAA;AACE,MAAK,EAAA,GAAA,CAAA,CAAA;AAAA,KACT;AACA,IAAI,IAAA;AACA,MAAA,EAAA,GAAK,KAAK,QAAS,EAAA,CAAE,KAAM,CAAA,GAAG,EAAE,CAAG,CAAA,CAAA,MAAA,CAAA;AAAA,aAC9B,CAAP,EAAA;AACE,MAAK,EAAA,GAAA,CAAA,CAAA;AAAA,KACT;AACA,IAAA,MAAM,CAAI,GAAA,IAAA,CAAK,GAAI,CAAA,EAAA,GAAK,EAAE,CAAA,CAAA;AAC1B,IAAM,MAAA,CAAA,GAAI,KAAK,GAAI,CAAA,EAAA,EAAI,KAAK,GAAI,CAAA,EAAA,EAAI,EAAE,CAAC,CAAA,CAAA;AACvC,IAAA,IAAI,IAAI,CAAG,EAAA;AACP,MAAA,MAAM,EAAK,GAAA,IAAA,CAAK,GAAI,CAAA,EAAA,EAAI,CAAC,CAAA,CAAA;AACzB,MAAA,IAAI,KAAK,EAAI,EAAA;AACT,QAAA,IAAA,GAAO,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAC9C,QAAO,IAAA,GAAA,MAAA,CAAO,KAAK,QAAS,EAAA,CAAE,QAAQ,GAAK,EAAA,EAAE,CAAC,CAAI,GAAA,EAAA,CAAA;AAAA,OAC/C,MAAA;AACH,QAAO,IAAA,GAAA,MAAA,CAAO,KAAK,QAAS,EAAA,CAAE,QAAQ,GAAK,EAAA,EAAE,CAAC,CAAI,GAAA,EAAA,CAAA;AAClD,QAAA,IAAA,GAAO,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAAA,OAClD;AAAA,KACG,MAAA;AACH,MAAA,IAAA,GAAO,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAC9C,MAAA,IAAA,GAAO,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAAA,KAClD;AACA,IAAA,OAAA,CAAQ,OAAO,IAAQ,IAAA,CAAA,CAAA;AAAA,GAC3B;AAAA,EAOA,SAAS,IAAO,GAAA,CAAA,EAAG,IAAO,GAAA,CAAA,EAAG,QAAQ,CAAG,EAAA;AACpC,IAAO,OAAA,IAAA,CAAK,GAAI,CAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,EAAM,KAAK,CAAA,EAAG,IAAK,CAAA,OAAA,CAAQ,IAAM,EAAA,KAAK,CAAC,CAAA,CAAA;AAAA,GACxE;AAAA,EACA,GAAA,CAAI,MAAc,IAAc,EAAA;AAC5B,IAAA,IAAI,EAAI,EAAA,EAAA,CAAA;AACR,IAAI,IAAA;AACA,MAAA,EAAA,GAAK,KAAK,QAAS,EAAA,CAAE,KAAM,CAAA,GAAG,EAAE,CAAG,CAAA,CAAA,MAAA,CAAA;AAAA,aAC9B,CAAP,EAAA;AACE,MAAK,EAAA,GAAA,CAAA,CAAA;AAAA,KACT;AACA,IAAI,IAAA;AACA,MAAA,EAAA,GAAK,KAAK,QAAS,EAAA,CAAE,KAAM,CAAA,GAAG,EAAE,CAAG,CAAA,CAAA,MAAA,CAAA;AAAA,aAC9B,CAAP,EAAA;AACE,MAAK,EAAA,GAAA,CAAA,CAAA;AAAA,KACT;AACA,IAAA,MAAM,CAAI,GAAA,IAAA,CAAK,GAAI,CAAA,EAAA,GAAK,EAAE,CAAA,CAAA;AAC1B,IAAM,MAAA,CAAA,GAAI,KAAK,GAAI,CAAA,EAAA,EAAI,KAAK,GAAI,CAAA,EAAA,EAAI,EAAE,CAAC,CAAA,CAAA;AACvC,IAAA,IAAI,IAAI,CAAG,EAAA;AACP,MAAA,MAAM,EAAK,GAAA,IAAA,CAAK,GAAI,CAAA,EAAA,EAAI,CAAC,CAAA,CAAA;AACzB,MAAA,IAAI,KAAK,EAAI,EAAA;AACT,QAAA,IAAA,GAAO,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAC9C,QAAO,IAAA,GAAA,MAAA,CAAO,KAAK,QAAS,EAAA,CAAE,QAAQ,GAAK,EAAA,EAAE,CAAC,CAAI,GAAA,EAAA,CAAA;AAAA,OAC/C,MAAA;AACH,QAAO,IAAA,GAAA,MAAA,CAAO,KAAK,QAAS,EAAA,CAAE,QAAQ,GAAK,EAAA,EAAE,CAAC,CAAI,GAAA,EAAA,CAAA;AAClD,QAAA,IAAA,GAAO,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAAA,OAClD;AAAA,KACG,MAAA;AACH,MAAA,IAAA,GAAO,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAC9C,MAAA,IAAA,GAAO,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAAA,KAClD;AACA,IAAA,OAAA,CAAQ,OAAO,IAAQ,IAAA,CAAA,CAAA;AAAA,GAC3B;AAAA,EAOA,GAAI,CAAA,IAAA,EAAc,IAAc,EAAA,KAAA,GAAQ,CAAG,EAAA;AACvC,IAAA,IAAI,CAAI,GAAA,CAAA,CAAA;AACR,IAAM,MAAA,EAAA,GAAK,KAAK,QAAS,EAAA,CAAA;AACzB,IAAM,MAAA,EAAA,GAAK,KAAK,QAAS,EAAA,CAAA;AACzB,IAAI,IAAA;AACA,MAAA,CAAA,IAAK,EAAG,CAAA,KAAA,CAAM,GAAG,CAAA,CAAE,CAAG,CAAA,CAAA,MAAA,CAAA;AAAA,aACjB,CAAP,EAAA;AAAA,KAEF;AACA,IAAI,IAAA;AACA,MAAA,CAAA,IAAK,EAAG,CAAA,KAAA,CAAM,GAAG,CAAA,CAAE,CAAG,CAAA,CAAA,MAAA,CAAA;AAAA,aACjB,CAAP,EAAA;AAAA,KAEF;AACA,IAAO,OAAA,IAAA,CAAK,QAAU,MAAO,CAAA,EAAA,CAAG,QAAQ,GAAK,EAAA,EAAE,CAAC,CAAI,GAAA,MAAA,CAAO,GAAG,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,GAC1E,KAAK,GAAI,CAAA,EAAA,EAAI,CAAC,CAAA,EACf,KAAK,CAAA,CAAA;AAAA,GACZ;AAAA,EAOA,GAAI,CAAA,IAAA,EAAc,IAAc,EAAA,KAAA,GAAQ,CAAG,EAAA;AACvC,IAAI,IAAA,EAAA,GAAK,GACL,EAAK,GAAA,CAAA,CAAA;AACT,IAAI,IAAA;AACA,MAAA,EAAA,GAAK,KAAK,QAAS,EAAA,CAAE,KAAM,CAAA,GAAG,EAAE,CAAG,CAAA,CAAA,MAAA,CAAA;AAAA,aAC9B,CAAP,EAAA;AAAA,KAEF;AACA,IAAI,IAAA;AACA,MAAA,EAAA,GAAK,KAAK,QAAS,EAAA,CAAE,KAAM,CAAA,GAAG,EAAE,CAAG,CAAA,CAAA,MAAA,CAAA;AAAA,aAC9B,CAAP,EAAA;AAAA,KAEF;AACA,IAAM,MAAA,EAAA,GAAK,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAClD,IAAM,MAAA,EAAA,GAAK,OAAO,IAAK,CAAA,QAAA,GAAW,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAC,CAAA,CAAA;AAClD,IAAO,OAAA,IAAA,CAAK,OAAS,CAAA,EAAA,GAAK,EAAM,GAAA,IAAA,CAAK,IAAI,EAAI,EAAA,EAAA,GAAK,EAAE,CAAA,EAAG,KAAK,CAAA,CAAA;AAAA,GAChE;AAAA,EAEA,QAAA,CAAS,KAAa,GAAa,EAAA;AAC/B,IAAO,OAAA,GAAA,GAAM,MAAM,GAAM,GAAA,GAAA,CAAA;AAAA,GAC7B;AAAA,EACA,SAAS,KAAY,EAAA;AACjB,IAAO,OAAA,CAAC,MAAM,KAAK,CAAA,CAAA;AAAA,GACvB;AACJ,EAAA;AAGgB,SAAA,QAAA,CAAkB,KAAQA,SAAa,EAAA;AACnD,EAAA,OAAO,MAAM,GAAMA,GAAAA,SAAAA,CAAAA;AACvB,CAAA;AAEgB,SAAA,WAAA,CAAY,KAAaA,SAAkB,EAAA;AACvD,EAAA,OAAO,CAAC,GAAA,IAAO,KAAM,CAAA,GAAG,IAAIA,SAAW,GAAA,GAAA,CAAA;AAC3C;;;;"}