/** 确保一个值是数字,并且不是 NaN 或 Infinity。如果不是,返回 0 或者指定的默认值 */ export function numberOf(input: any, fallback?: number) { if (input == undefined) return fallback ?? 0 let type = typeof input if (type === "number") { if (Number.isNaN(input) || !Number.isFinite(input)) return fallback ?? 0 return input } else if (type === "string") { let num = Number.parseFloat(input) if (Number.isNaN(num) || !Number.isFinite(num)) return fallback ?? 0 return num } else { return fallback ?? 0 } }