| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 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
|