數(shù)字轉(zhuǎn)換為中文

如下方法只 支持 1 到 99:

function numToChineseUppercase(num )? {

? ? num = Number(num);

? ? var upperCaseNumber = [? ? ? '零',? ? ? '一',? ? ? '二',? ? ? '三',? ? ? '四',? ? ? '五',? ? ? '六',? ? ? '七',? ? ? '八',? ? ? '九',? ? ? '十',? ? ? '百',? ? ? '千',? ? ? '萬',? ? ? '億'? ? ];

? ? var length = String(num).length;

? ? if (length == 1) {

? ? ? return upperCaseNumber[num];

? ? } else if (length == 2) {

? ? ? if (num == 10) {

? ? ? ? return upperCaseNumber[num];

? ? ? } else if (num > 10 && num < 20) {

? ? ? ? return '十' + upperCaseNumber[String(num).charAt(1)];

? ? ? } else {

? ? ?return (? ? ?upperCaseNumber[String(num).charAt(0)] +? ? ? ? ? '十' +? ? ? ? ? upperCaseNumber[String(num).charAt(1)].replace('零', '')? ? ? ? );

? ? ? }

? ? }

? }


改進(jìn)了之后:

function changChineseNumber(num) {

? ? ? num = Number(num)

? ? ? var upperCaseNumber = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '百', '千', '萬', '億'];

? ? ? const len = String(num).length

? ? ? if (len === 1) {

? ? ? ? return upperCaseNumber[num]

? ? ? }

? ? ? // 10 | 19? 20

? ? ? if (len === 2) {

? ? ? ? if (num === 10) return "十";

? ? ? ? if (String(num).charAt(1) === "0") {

? ? ? ? ? return upperCaseNumber[Number(String(num).charAt(0))] + "十";

? ? ? ? } else {

? ? ? ? ? return upperCaseNumber[Number(String(num).charAt(0))] + "十" + upperCaseNumber[Number(String(num).charAt(1))]

? ? ? ? }

? ? ? }

? ? }

推介一個數(shù)字中文轉(zhuǎn)換庫:https://github.com/cnwhy/nzh

$ npm install nzh --save

$ bower install nzh --save


。。。。99 以后的數(shù)字轉(zhuǎn)換,可在上述基礎(chǔ)上再兼容一下咯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容