前端js,ts小写数字转大写。vue数字大写小写转化 电脑版发表于:2024/8/17 10:50 ### 简单的处理就是用一个键值对来匹配 写好对应的键值对: ``` const state = reactive({ smallBigDic: { 1: "一", 2: "二", 3: "三", 4: "四", 5: "五", 6: "六", 7: "七", 8: "八", 9: "九", 10: "十", 11: "十一", 12: "十二", } }) ``` 写好转化方法: ``` const methods = { numberSmallToBig: function (_num) { let big = state.smallBigDic[_num] if (big) { return big } else { return _num } } } ``` 页面上使用: ``` methods.numberSmallToBig(chapterItem.chapterOrder) ``` ### 封装到方法里边的 ``` const smallBigDic = { 1: "一", 2: "二", 3: "三", 4: "四", 5: "五", 6: "六", 7: "七", 8: "八", 9: "九", 10: "十", 11: "十一", 12: "十二", 13: "十三", 14: "十四", 15: "十五", 16: "十六", 17: "十七", 18: "十八", 19: "十九", 20: "二十", 21: "二十一", 22: "二十二", 23: "二十三", 24: "二十四", 25: "二十五", 26: "二十六" } as const; // 提取字典类型 type SmallBigDic = typeof smallBigDic; /** * 数字大写小写转化 * @param str * @returns */ export function numberSmallToBig(_num: number) { // 使用类型断言明确告知TS这是合法键 const key = _num as keyof SmallBigDic; // 访问时TS能正确推断返回类型为string | undefined const big = smallBigDic[key]; return big ?? _num+""; } ``` **使用:** ``` import { numberSmallToBig } from '/@/utils/toolsFunctions' let label = '第' + numberSmallToBig(element.termNum + 1) + '学期', ```