UNPKG

antd-mini

Version:

antd-mini 是支付宝小程序 UI 组件库,遵循 Ant Design 规范。

37 lines (36 loc) 1.41 kB
/** * 检查给定值是否是一个数字或可以被解析为一个数字 * @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); } }