要求:输入金额数字,输出它的中文大写形式(如输入1000则输出一千元整);
//代码不包括校验输入合法部分
transform(number) {
var judge = false; //判断是否为整数
var judgedivide = false;//判断是否被10整除
var transformNumber = number.toString();
var pointIndex = transformNumber.indexOf('.');
var zeroindex = 0;
if (pointIndex !== -1) {
judge = true;
var tail = transformNumber.split('.')[1].toString();
transformNumber = transformNumber.split('.')[0];
}
var temp = parseInt(transformNumber);
if (temp % 10 === 0) {
for (var i = transformNumber.length - 1; i >= 0; i--) {
if (transformNumber[i] !== '0') {
zeroindex = transformNumber.length - i - 1;
judgedivide = true;
break;
}
}
}
//转置
transformNumber = transformNumber.split("").reverse().join("");
var numberIndex = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十'];
var biteIndex = ['零', '元', '十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千', '万'];
var head = '';
if (transformNumber.length >= 6) {
if (transformNumber[4] === '0') {
for (var m = 5; m <= 7; m++) {
if (transformNumber[m] !== '0') {
biteIndex[m + 1] = biteIndex[m + 1] + '万';
break;
}
}
}
if (transformNumber.length >= 9) {
if (transformNumber[8] === '0') {
for (var n = 9; n <= 12; n++) {
if (transformNumber[n] !== '0') {
biteIndex[n + 1] = biteIndex[n + 1] + "亿";
break;
}
}
}
}
}
for (var i = transformNumber.length - 1; i >= zeroindex; i--) {
if (transformNumber[i] !== '0') {
head = head + numberIndex[transformNumber[i]] + biteIndex[i + 1];
} else {
if (head[head.length - 1] !== '零') {
head = head + numberIndex[transformNumber[i]];
}
}
}
if (judge === true) {
var liiteNumber = ['角', '分'], tailTemp = '';
for (var j = 0; j < 2; j++) {
tailTemp = tailTemp + numberIndex[tail[j]] + liiteNumber[j];
}
var endout = head + tailTemp;
} else {
var endout = head + '整';
}
window.alert(endout);
},