执行顺序
// Promise || await Promise 按顺序
// Promise.then || await Promise.then
// setiTimeout || setInterval
tofiexd四舍五入 5不五入
export function toFixeds(value: number, digst: number) {
let value1: any = value + "";
if (!digst) digst = 0;
if (value1.indexOf(".") == -1) value1 += ".";
value1 += new Array(digst + 1).join("0");
if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0," + (digst + 1) + "})?)\\d*$").test(value1)) {
let value1: any = "0" + RegExp.$2, pm = RegExp.$1, a = RegExp.$3.length, b = true;
if (a == digst + 2) {
let a: any = value1.match(/\d/g);
if (parseInt(a[a.length - 1]) > 4) {
for (var i = a.length - 2; i >= 0; i--) {
a[i] = parseInt(a[i]) + 1;
if (a[i] == 10) {
a[i] = 0;
b = i != 1;
} else break;
}
}
value1 = a.join("").replace(new RegExp("(\\d+)(\\d{" + digst + "})\\d$"), "$1.$2");
}
if (b) value1 = value1.substr(1);
return (pm + value1).replace(/\.$/, "");
}
return this + "";
}
千分符
thousandFixed(num) {
if (!num) {
num = 0;
}
num - 0;
if (num > 9999 && num < 100000000) {
let nums: any = num / 10000
// console.log('万')
return (toFixeds(nums, 1).toString()).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
} else if (num > 99999999) {
let nums: any = num / 100000000
// console.log('亿')
return (toFixeds(nums, 1).toString()).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
} else {
return num;
}
}
范围随机数
export function random(m:any, n:any) {
m > n ? [m, n] = [n, m] : [m, n] = [m, n]
if (m.toString().indexOf('.') == -1 && n.toString().indexOf('.') == -1) {
return (Math.floor(Math.random() * (n - m + 1)) + m)
} else {
return Number.parseFloat(Math.random()*(n-m)+m).toFixed(2)
}
}
最大值取整
export function ceilFuns(num:any) {
let maxA:any
if (Array.isArray(num)) {
num = num.flat(Infinity)
num = Math.max.apply(null, num)
}
let numLength:any = num.toString().length - 1
let maxOnce:any = num.toString().slice(0, 1)
let maxAi:any = num.toString().slice(1, numLength + 1)
maxAi == 0 ? maxA = maxOnce : maxA = (maxOnce - (-1)).toString();
for (let i = 0; i < numLength; i++) {
maxA += i * 0
}
return maxA
}