將數字轉換爲中文大寫
HTML代碼:
<input type="text" value="" placeholder="阿拉伯數字" οnchange="chineseNumChange(this.value)">
<div id="chineseNumber"></div>
js代碼 :
var chinese = {
/*執行方法*/
init: function (money) {
var length, list, LenD,
NList = [], states = 0;
length = Math.ceil(money.length / 4);
LenD = length;
list = chinese.numberSplit(money, length);
for (var a = 0; a < length; a++, LenD--) {
var evenList = list[a].split(""),
d = evenList.length, name = "",
m = 0;
for (var b = 0, k = evenList.length; b < k; b++, d--) {
if (evenList[b] != "0") {
name += chinese.chineseNumber(evenList[b]);
name += chinese.chineseLength(d);
m = -1;
} else {
if (d != 1) {
name += chinese.chineseNumber(evenList[b]);
}
if (m != -1) {
name = name.substring(0, name.length - 1);
}
m = b;
}
}
if (name == "") {
NList.push(name);
if (a != 0) {
++states;
}
} else {
if (states > 0 && states != a - 2) {
NList.push(name + chinese.chineseUnit(a) + "零");
} else {
NList.push(name + chinese.chineseUnit(a));
}
states = 0;
}
}
return NList.reverse().join("");
},
/*每四位截取*/
numberSplit: function (all, len) {
var numberSplitList = [];
for (var i = len, k = all.length; i > 0; i--, k -= 4) {
var j = k - 4;
if (j < 0) {
j = 0;
}
numberSplitList.push(all.substring(j, k));
}
return numberSplitList;
},
chineseNumber: function (ele) {
var text = "";
if (ele == "1") {
text = "壹";
} else if (ele == "2") {
text = "貳";
} else if (ele == "3") {
text = "叄";
} else if (ele == "4") {
text = "肆";
} else if (ele == "5") {
text = "伍";
} else if (ele == "6") {
text = "陸";
} else if (ele == "7") {
text = "柒";
} else if (ele == "8") {
text = "捌";
} else if (ele == "9") {
text = "玖";
} else if (ele == "0") {
text = "零";
}
return text;
},
chineseUnit: function (len) {
var unit = "";
if (len == 0) {
unit += "";
} else if (len == 1) {
unit += "萬";
} else if (len == 2) {
unit += "億";
} else if (len == 3) {
unit += "萬億";
} else if (len == 4) {
unit += "兆";
} else {
unit += chinese.chineseUnit(Number(len) - 4);
}
return unit;
},
chineseLength: function (val) {
var chineseVal = "";
if (val == 1) {
chineseVal += "";
} else if (val == 2) {
chineseVal += "拾";
} else if (val == 3) {
chineseVal += "佰";
} else if (val == 4) {
chineseVal += "仟";
}
return chineseVal;
}
};
function chineseNumChange(ele) {
document.getElementById("chineseNumber").innerHTML = chinese.init(ele);
}
效果: