All files / utils safe-parse.ts

0% Statements 0/12
100% Branches 1/1
100% Functions 1/1
0% Lines 0/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18                                   
/**
 * 安全数字转换工具
 */
 
/** 安全地将字符串转为整数,NaN 时返回默认值或抛出错误 */
export function safeParseInt(value: string | number | undefined | null, defaultValue?: number): number {
  if (value === undefined || value === null) {
    if (defaultValue !== undefined) return defaultValue;
    throw new Error('值不能为空');
  }
  const num = typeof value === 'number' ? Math.floor(value) : parseInt(value, 10);
  if (isNaN(num)) {
    if (defaultValue !== undefined) return defaultValue;
    throw new Error(`无法解析为数字: ${value}`);
  }
  return num;
}