{"version":3,"sources":["../src/chinese/toChineseNumber.ts"],"names":["toChineseNumber","value","isBig","isNumber","wholeValue","decimalValue","DIGITS","CN_NUMBER_BIG_DIGITS","CN_NUMBER_DIGITS","UNITS","CN_NUMBER_BIG_UNITS","CN_NUMBER_UNITS","result","i","bit","digit","unit","preBit","isKeyBits"],"mappings":";;;;AAgBQ,SAASA,EAAgBC,CAAwBC,CAAAA,GAAAA,CAAiB,CACtE,GAAI,CAACC,EAASF,CAAK,CAAA,CAAG,OAAOA,CAC7B,CAAA,GAAI,CAACG,CAAYC,CAAAA,GAAY,EAAI,MAAOJ,CAAAA,CAAK,EAAE,KAAM,CAAA,GAAG,CAClDK,CAAAA,CAAAA,CAASJ,IAAQK,CAAuBC,CAAAA,CAAAA,CACxCC,EAAQP,GAAQQ,CAAAA,CAAAA,CAAsBC,EACxCC,CAAS,CAAA,EAAA,CACb,GAAIR,CAAW,CAAA,MAAA,EAAU,EAAG,OAAOE,CAAAA,CAAO,SAASF,CAAU,CAAC,EAC9D,IAASS,IAAAA,CAAAA,CAAIT,CAAW,CAAA,MAAA,CAAS,EAAGS,CAAK,EAAA,CAAA,CAAGA,IAAK,CAC7C,IAAIC,EAAM,QAASV,CAAAA,CAAAA,CAAWS,CAAC,CAAC,CAAA,CAC5BE,EAAQT,CAAOQ,CAAAA,CAAG,EAClBE,CAAOP,CAAAA,CAAAA,CAAML,EAAW,MAASS,CAAAA,CAAAA,CAAI,CAAC,CAC1C,CAAA,GAAIC,GAAO,CAAG,CAAA,CACV,IAAIG,CAASJ,CAAAA,CAAAA,CAAIT,EAAW,MAAS,CAAA,QAAA,CAASA,EAAWS,CAAI,CAAA,CAAC,CAAC,CAAI,CAAA,IAAA,CAC/DK,GAAcd,CAAW,CAAA,MAAA,CAASS,EAAI,CAAK,EAAA,CAAA,EAAM,CACjDI,CAAAA,CAAAA,EAAUA,GAAU,CAAK,EAAA,CAACC,IAAWN,CAAS,CAAA,QAAA,CAAMA,GACpDM,CAAWN,GAAAA,CAAAA,CAASH,EAAML,CAAW,CAAA,MAAA,CAASS,EAAI,CAAC,CAAA,CAAID,GAC/D,CACIA,KAAAA,CAAAA,CAAS,GAAGG,CAAK,CAAA,EAAGC,CAAI,CAAA,CAAA,CAAKJ,EAErC,CACA,OAAIV,KACAU,CAASA,CAAAA,CAAAA,CAAO,QAAQ,cAAM,CAAA,QAAG,EAC5B,OAAQ,CAAA,cAAA,CAAM,QAAG,CACjB,CAAA,OAAA,CAAQ,eAAM,QAAG,CAAA,CACjB,QAAQ,cAAM,CAAA,QAAG,CACjB,CAAA,OAAA,CAAQ,eAAM,QAAG,CAAA,CAClBA,EAAO,UAAW,CAAA,cAAI,IAAGA,CAASA,CAAAA,CAAAA,CAAO,UAAU,CAAC,CAAA,CAAA,GAExDA,EAASA,CAAO,CAAA,OAAA,CAAQ,eAAM,QAAG,CAAA,CAC5B,QAAQ,cAAM,CAAA,QAAG,EACjB,OAAQ,CAAA,cAAA,CAAM,QAAG,CACjB,CAAA,OAAA,CAAQ,eAAM,QAAG,CAAA,CACjB,QAAQ,cAAM,CAAA,QAAG,EAClBA,CAAO,CAAA,UAAA,CAAW,cAAI,CAAGA,GAAAA,CAAAA,CAASA,EAAO,SAAU,CAAA,CAAC,IAErDA,CACX","file":"chunk-K7XTXXAM.mjs","sourcesContent":["\n/**\n * \n * 将数字转换为中文数字\n * \n * 注意会忽略掉小数点后面的数字\n * \n * @param {*} value  数字\n * @param {*} isBig 是否大写数字 \n * @returns \n */\n\nimport { isNumber } from \"../typecheck/isNumber\"\nimport { CN_NUMBER_BIG_DIGITS, CN_NUMBER_BIG_UNITS, CN_NUMBER_DIGITS, CN_NUMBER_UNITS } from \"./consts\";\n\n\n export function toChineseNumber(value: number | string, isBig?: boolean) {\n    if (!isNumber(value)) return value;\n    let [wholeValue, decimalValue] = String(value).split(\".\") // 处理小数点     \n    const DIGITS = isBig ? CN_NUMBER_BIG_DIGITS : CN_NUMBER_DIGITS\n    const UNITS = isBig ? CN_NUMBER_BIG_UNITS : CN_NUMBER_UNITS\n    let result = ''\n    if (wholeValue.length == 1) return DIGITS[parseInt(wholeValue)]\n    for (let i = wholeValue.length - 1; i >= 0; i--) {\n        let bit = parseInt(wholeValue[i])\n        let digit = DIGITS[bit]\n        let unit = UNITS[wholeValue.length - i - 1]\n        if (bit == 0) {\n            let preBit = i < wholeValue.length ? parseInt(wholeValue[i + 1]) : null// 上一位\n            let isKeyBits = ((wholeValue.length - i - 1) % 4) == 0\n            if (preBit && preBit != 0 && !isKeyBits) result = \"零\" + result\n            if (isKeyBits) result = UNITS[wholeValue.length - i - 1] + result\n        } else {\n            result = `${digit}${unit}` + result\n        }\n    }\n    if (isBig) {\n        result = result.replace(\"垓京\", \"垓\")\n            .replace(\"京兆\", \"京\")\n            .replace(\"兆億\", \"兆\")\n            .replace(\"億萬\", \"億\")\n            .replace(\"萬仟\", \"萬\")\n        if (result.startsWith(\"壹拾\")) result = result.substring(1)\n    } else {\n        result = result.replace(\"垓京\", \"垓\")\n            .replace(\"京兆\", \"京\")\n            .replace(\"兆亿\", \"兆\")\n            .replace(\"亿万\", \"亿\")\n            .replace(\"万千\", \"万\")\n        if (result.startsWith(\"一十\")) result = result.substring(1)\n    }\n    return result    // 中文数字忽略小数部分\n}\n"]}