/** * 判断字符串空 * @param {Object} str */ export function isBlank(str) { if (str === undefined || str === null || str === '' || str === 'null' || str.length == 0) { return true } else { return false } } /** * 两数相乘 arg1 * arg2 * @Date 2020/5/9 13:19 **/ export function accMul(arg1, arg2) { let t = 0 arg1 = arg1 ? arg1.toString() : '0' arg2 = arg2 ? arg2.toString() : '0' if (arg1.includes('.')) { t += arg1.split('.')[1].length } if (arg2.includes('.')) { t += arg2.split('.')[1].length } const r1 = Number(arg1.replace('.', '')) const r2 = Number(arg2.replace('.', '')) return (r1 * r2) / Math.pow(10, t) } /** * 两数相除 arg1 / arg2 * @Date 2020/5/9 13:18 **/ export function accDiv(arg1, arg2) { let t = 0 arg1 = arg1 ? arg1.toString() : '0' arg2 = arg2 ? arg2.toString() : '0' if (arg2.includes('.')) { t = arg2.split('.')[1].length } if (arg1.includes('.')) { t -= arg1.split('.')[1].length } const r1 = Number(arg1.replace('.', '')) const r2 = Number(arg2.replace('.', '')) return accMul((r1 / r2), Math.pow(10, t)) } /** * 判断非空 * @param {Object} str */ export function isNotBlank(str) { return !isBlank(str) } /* 正整数 */ export function isInteger(number) { const reg = /^[1-9]\d*$/ if (reg.test(number)) { return true } else { return false } } /* 判断是否为空 */ export function isEmpty(item) { if (item === undefined || item === null || item === '') { return true } return false } /* 校验价格,最多两位小数点 */ export function isPrice(price) { const reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/ if (reg.test(price)) { return true } else { return false } } /** * 将元转换为分(如果可以转换,否则原值返回) * @param val * @returns {number|*} */ export function formatYuanToFen(val) { if (isEmpty(val) || !isPrice(val)) { return val } return parseFloat(val) * 100 } /** * 将分转换为元(如果可以转换,否则原值返回) * @param val * @returns {number|*} */ export function formatFenToYuan(val) { if (isEmpty(val) || !isInteger(val)) { return val } return parseFloat(val) / 100 } /* 元转分 */ export function yuanToFen(amount) { let fen = 0 if (!amount) { return fen; } fen = accMul(amount,100) console.log(amount,fen); return fen } /* 分转元 */ export function fenToYuan(amount) { if (!amount) { return "0"; } amount = amount.toString(); if (amount.length == 1) { return parseFloat("0.0" + amount); } else if (amount.length == 2) { return parseFloat("0." + amount); } else { return parseFloat(amount.substring(0, amount.length - 2) + "." + amount.substring(amount.length - 2)); } } // 判断微信、支付宝 2微信 5支付宝 3其他 export function getPlat() { // #ifdef H5 var ua = window.navigator.userAgent.toLowerCase(); //判断是不是微信 if (ua.match(/MicroMessenger/i) == 'micromessenger') { return 2; } //判断是不是支付宝 if (ua.match(/AlipayClient/i) == 'alipayclient') { return 5; } //判断是不是云闪付 if (ua.indexOf('unionpay/1.0') !== -1) { return 15; } // #endif // #ifdef MP-WEIXIN return 2; // #endif // #ifdef MP-ALIPAY return 5; // #endif return 3; }