55 lines
1.7 KiB
JavaScript
55 lines
1.7 KiB
JavaScript
/**
|
||
* 生成范围随机数
|
||
* @param {Object} Min
|
||
* @param {Object} Max
|
||
*/
|
||
export function RandomNumBoth(Max, Min = 0) {
|
||
var Range = Max - Min;
|
||
var Rand = Math.random();
|
||
var num = Min + Math.round(Rand * Range); //四舍五入
|
||
return num;
|
||
}
|
||
|
||
/**
|
||
* 去除字符串中除了数字和点以外的其他字符
|
||
* @param {Object} obj
|
||
*/
|
||
export function clearNoNum(obj) {
|
||
//如果用户第一位输入的是小数点,则重置输入框内容
|
||
if (obj.value != "" && obj.value.substr(0, 1) == ".") {
|
||
obj.value = "";
|
||
}
|
||
obj.value = obj.value.replace(/^0*(0\.|[1-9])/, "$1"); //粘贴不生效
|
||
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
|
||
obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
|
||
obj.value = obj.value
|
||
.replace(".", "$#$")
|
||
.replace(/\./g, "")
|
||
.replace("$#$", ".");
|
||
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数
|
||
if (obj.value.indexOf(".") < 0 && obj.value != "") {
|
||
//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
|
||
if (obj.value.substr(0, 1) == "0" && obj.value.length == 2) {
|
||
obj.value = obj.value.substr(1, obj.value.length);
|
||
}
|
||
}
|
||
return obj.value;
|
||
}
|
||
|
||
/**
|
||
* 保留小数n位,不进行四舍五入
|
||
* num你传递过来的数字,
|
||
* decimal你保留的几位,默认保留小数后两位
|
||
*/
|
||
export function formatDecimal(num, decimal = 2) {
|
||
num = num.toString();
|
||
const index = num.indexOf(".");
|
||
if (index !== -1) {
|
||
num = num.substring(0, decimal + index + 1);
|
||
} else {
|
||
num = num.substring(0);
|
||
}
|
||
//截取后保留两位小数
|
||
return parseFloat(num).toFixed(decimal);
|
||
}
|