阿拉伯数字转化为汉字繁体大写(财务金额大写)和汉字小写解决方案
/** * 将阿拉伯整数转化成汉字小写 支持12位整数 * @param n 为整数型 number 或者 string * @param customText 字符串 * @returns {string} */ function numToChinese(n,customText='我是默认字符串:') { if (n === 0) { return '零' } if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) { return '格式错误' } n = parseInt(n) // 转化为整型 if (n.toString().length > 12) { return '数据超出解析范围' } let unit = '千百十亿千百十万千百十个', str = ''; n += '' let p = n.length // 获取整数部分长度 if (p >= 0) { n = n.substring(0, p) + n.substr(p + 1, 0) } unit = unit.substr(unit.length - n.length) for (let i = 0; i < n.length; i++){ str += '零一二三四五六七八九'.charAt(n.charAt(i)) + unit.charAt(i) } let result = customText + str .replace(/零(千|百|十)/g, '零') .replace(/(零)+/g, '零') .replace(/零(万|亿|个)/g, '$1') .replace(/(亿)万/g, '$1$2') .replace(/^个零?/g, '') .replace(/个$/g, '') // 去掉末尾的零 if (result.charAt(result.length - 1) == '零') { result = result.substring(0, result.length - 1) } return result }
/** * 数字转换中文繁体大写 支持12位整数 * @param n number数值 或者string数值 类型 * @returns {string} */ function numToTraditionalChinese(n) { if (n === 0) { return '零' } if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) { return '格式错误' } let unit = '仟佰拾亿仟佰拾万仟佰拾元角分', str = '' n += '00' let p = n.indexOf('.') // 获取整数部分长度 if ((p == -1 && n.toString().length > 12) || (p !== -1 && p > 12)) { return '数据超出解析范围' } if (p >= 0) { n = n.substring(0, p) + n.substr(p + 1, 2) // 截取整数部分和小数点后两位 整合成新整数 } unit = unit.substr(unit.length - n.length) for (let i = 0; i < n.length; i++) { str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i) } return str .replace(/零(仟|佰|拾|角)/g, '零') .replace(/(零)+/g, '零') .replace(/零(万|亿|元)/g, '$1') .replace(/(亿)万/g, '$1$2') .replace(/^元零?|零分/g, '') .replace(/元$/g, '元整') } console.log(numToTraditionalChinese(111020000000.03331)) // 壹仟壹佰壹拾亿贰仟万元零叁分 console.log(numToChinese(11102000000.55,'方法号:')) // 方法号:一百一十一亿零二百万
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类