直接上代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input type="" name="" id="money" value="" />
<div id="check">
查看
</div>
<script type="text/javascript">
var check = document.querySelector("#check");
check.addEventListener("click",function(){
var money = Number(document.querySelector("#money").value).toFixed(2);
var index=money.toString().indexOf('.')
if(money!=0){
var result =parseInt(money/10000) +'萬' +parseInt(money%10000/1000) + '仟'+ parseInt(money%10000%1000/100) +'佰' + parseInt(money%10000%1000%100/10) + '拾' + parseInt(money%10000%1000%100%10)+'圆'+'点'+(Number(money.toString().substr(index+1)))
}else{
var result = "请输入具体金额"
}
console.log(result)
})
</script>
</body>
</html>
这是之前面试的一道笔试题,当时没有看懂题目是什么意思就没写,面试官后来让我口述了思路,当时思路是两个,第一个就是上边这种直接对数据进行运算的方法,另一个是转换成字符串用长度下标来处理。回去自己想了一下,暂时是写了这么一个解法,bug还是很多的。上述代码只是一个思路,中间还有很多需要考虑的问题:
1.用户输入的不是数字如何处理;
2.如果输入的金额过大,如亿;
3.如果输入的金额过小,前边会显示0;
4.数字转化为大写数字。
等等实际应用中应该注意的问题。
每天学习一点点,一个入门级菜鸟程序员的微末追求