/**
* @定义 可判断是否是数字或者是数字字符串
* @引入 import {isNumber} from '@shared/utils/formatNumber'
* @param {*} vluae 参数
*
* @returns 返回一个false值
* @ex isNumber(number)
*/
//判断是不是一个数字 或者 一个字符串里全是数字
export function isNumber(value) {
if (value === undefined || value === null || value === '') {
return false;
}
if (typeof value === 'string') {
//正整数
var reNumber = /^\d+$/;
//负整数
var reNeNumber = /^-\d+$/;
//正实数
var reRealNumber1 = /^[1-9]\d*[.]\d+$/; //非零开头
var reRealNumber2 = /^0[.]\d+$/; //零开头
//负实数
var reNeRealNumber1 = /^-[1-9]\d*[.]\d+$/; //非零开头
var reNeRealNumber2 = /^-0[.]\d+$/; //零开头
if (
reNumber.test(value) ||
reNeNumber.test(value) ||
reRealNumber1.test(value) ||
reRealNumber2.test(value) ||
reNeRealNumber1.test(value) ||
reNeRealNumber2.test(value)
) {
return true;
} else {
return false;
}
} else if (typeof value === 'number') {
return true;
} else {
return false;
}
}
/**
* @定义 返回格式化后的数字
* @引入 import {formatNumber} from '@shared/utils/formatNumber'
* @param {*} number 要格式化的数字
* @param {*} fmt 数字格式
* @param {*} point 小数位
*
* @returns 返回一个false值
* @ex isNumber(number)
*/
export function formatNumber(num, fmt, point = 0) {
// 不是数字格式返回null
if (!isNumber(num)) {
return num;
}
if (num && typeof num === 'string') {
num = Number(num);
}
if (point && typeof point === 'string') {
point = Number(point);
}
// 超过万位显示'x.x w'
if (fmt === '$w') {
return num > 10000 ? (num / 10000).toFixed(point) + 'w' : num;
}
// 数字千分位
if (fmt === '$t') {
return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
}
}
数字格式化(判断是否数字、返回千分位、万化及小数)
最新推荐文章于 2022-08-24 14:01:13 发布