js-练习:输入阿拉伯数字的金额,转换成大写汉字输出
程序员文章站
2022-06-18 08:50:06
...
输入阿拉伯数字的金额,转换成大写汉字输出
- 代码:
<script>
var m = Number(prompt("金额:"));
m *= 100;
m += "";
var length = m.length;
var unit = new Array("仟", "佰", "拾", "", "仟", "佰", "拾", "", "角", "分");
var result = "";
for (var i = 0; i < length; i++) {
if (i == 2) {
result = "元" + result;
} else if (i == 6) {
result = "万" + result;
}
if (m.charAt(length - i - 1) == 0) {
if (i != 0 && i != 1) {
if (result.charAt(0) != '零' && result.charAt(0) != '元' && result.charAt(0) != '万') {
result = "零" + result;
}
}
continue;
}
result = toDx(m.charAt(length - i - 1)) + unit[unit.length - i - 1] + result;
}
result += result.charAt(result.length - 1) == '元' ? "整" : "";
alert(result);
function toDx(n) {
switch (n) {
case "0":
return "零";
case "1":
return "壹";
case "2":
return "贰";
case "3":
return "叁";
case "4":
return "肆";
case "5":
return "伍";
case "6":
return "陆";
case "7":
return "柒";
case "8":
return "捌";
case "9":
return "玖";
}
}
</script>
结果
思路:
1、金额分为大写数字和大写单位,可以将两部分分别处理后拼接;
2、将输入数据×100,可以避免小数点判断
3、当前位为0时,不显示单位,且当有多位为0时,只显示一个零,如:壹仟零伍(1005)
4、当0后只有0和单位“元”或“万”时,不显示“零”,如:壹佰元整(100)
5、当角和分都为0时,显示 xxx元整- 不足:
- 异常数据检测
- “元”–> “圆”
- ……
上一篇: 如何拍出小脸的你?教你拍照显得脸瘦的技巧
下一篇: 怎样拍照好看?拍照方法、拍照姿势