js将 0,1,2,3...转成一,二,三....(数字转换大写)

    xiaoxiao2023-10-28  34

    我使用的场景

    显示遍历的数组时我需要把数字的下标转为大写的坐标

    方法

    function numberToUpperCase(textIndex) { let newString = ''; let newTextIndex = (textIndex + 1) + ''; function sum(value, index) { var newValue = ''; if ((textIndex === 9)) { return !index ? '十' : ''; } let isSeat = (~~textIndex > 9 && ~~textIndex < 19); switch (~~value) { case 1: newValue = !index ? (isSeat ? '' : '一') : '十一'; break; case 2: newValue = !index ? (isSeat ? '' : '二') : '十二'; break; case 3: newValue = !index ? (isSeat ? '' : '三') : '十三'; break; case 4: newValue = !index ? (isSeat ? '' : '四') : '十四'; break; case 5: newValue = !index ? (isSeat ? '' : '五') : '十五'; break; case 6: newValue = !index ? (isSeat ? '' : '六') : '十六'; break; case 7: newValue = !index ? (isSeat ? '' : '七') : '十七'; break; case 8: newValue = !index ? (isSeat ? '' : '八') : '十八'; break; case 9: newValue = !index ? (isSeat ? '' : '九') : '九十'; break; case 0: newValue = '十'; break; default: break; } return newValue; } for (let i = 0; i < newTextIndex.length; i++) { newString += sum(newTextIndex.substring(i, i + 1), i); } return newString; }

    调用结果

    console.log(nerToUpperCase(0)) // 一 console.log(nerToUpperCase(1)) // 二 console.log(nerToUpperCase(10)) // 十

    (注:只支持两位的转换) 小生不才,只能应付一下了。如果高见,望不吝赐教。

    最新回复(0)