# 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;
    }