Appearance
从后端返回中解析数值
本节目标:理解“从后端返回中解析数值”的核心思路,并能把它用于实际开发或面试表达。 function parseAmount(value: AmountInput): number { if (typeof value === 'number') return value if (typeof value !== 'string') return Number.NaN // ✅ 统一清洗:去掉空白与常见千分位(逗号、中文逗号、空格分组等) const cleaned = value.trim().replace(/\s+/g, '').replace(/[,,]/g, '') if (cleaned.length === 0) return Number.NaN // ✅ 白名单校验:整数/小数/科学计数法(允许 + / -) // 例:1,234.56 -> 1234.56; -0.12; 1e-6; +3.14 const isNumeric = /^[+-]?(?:\d+.?\d*|.\d+)(?:e[+-]?\d+)?$/i.test(cleaned) if (!isNumeric) return Number.NaN const n = Number(cleaned) return Number.isFinite(n) ? n : Number.NaN }
