石广澎
2024-12-27 160b88325eb7016509191affe59036cf74ced049
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
 
/**
 * 判断字符串空
 * @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;
}