antd-mini
Version:
antd-mini 是支付宝小程序 UI 组件库,遵循 Ant Design 规范。
37 lines (36 loc) • 1.41 kB
JavaScript
/**
* 检查给定值是否是一个数字或可以被解析为一个数字
* @param value - 要检查的任意值,类型为 unknown
* @returns 一个布尔值,指示值是否是数字或者可以被解析为数字
*/
export function isNumber(value) {
if (typeof value === 'number') {
return !isNaN(value);
}
if (typeof value === 'string' && value.trim() !== '') {
return !isNaN(Number(value));
}
return false;
}
/**
* 格式化数字,同时限制其范围和小数精度。
*
* @param value - 要格式化的数值。
* @param max - 数值允许的最大值。若 `value > max`,则将其限制为 `max`。
* @param min - 数值允许的最小值。若 `value < min`,则将其限制为 `min`。
* @param precision - 要保留的小数位数。如果为负值,则返回完整的原始数值(不限制精度)。
* @returns 格式化后的数值字符串。
*/
export function formatNumberWithLimits(value, max, min, precision) {
// 确保值在[min, max]范围内
var formattedValue = Math.max(min, Math.min(max, value));
if (precision < 0) {
// 不限制精度,直接返回数值
return String(formattedValue);
}
else {
// 限制精度,保留指定的位数并补足零
formattedValue = parseFloat(formattedValue.toFixed(precision));
return formattedValue.toFixed(precision);
}
}