javascript - 关于正则显示金额的问题
本文介绍了javascript - 关于正则显示金额的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
请教一个车价的显示正则匹配:
1500000 显示150万;
1505500 显示150.55万;
1505550 显示150.56万四舍五入百以后的数值
求解~
解决方案
<script type="text/javascript">
function change(num) {
num = num / 10000;
if(typeof num != 'number') {
return
}
var numStr = num.toString();
var index = numStr.indexOf('.')
if(index == -1) {
return numStr += '.00万'
} else if(numStr.length - index == 2) {
return numStr += '0万'
} else if(numStr.length - index == 3) {
return numStr
} else {
var reg = /.(\d{3})\d*$/;
newNum = numStr.replace(reg, function($0, $1) {
//tempDec 用来判断四舍五入后小数位数
var tempDec = Math.round(Number($1.substring(0, 2) + '.' + $1.substring(2)));
var newDec;
tempDec = tempDec.toString();
tempDec === 0 ? newDec = '00' : (tempDec.length == 1 ? newDec = '0' + tempDec : newDec = tempDec)
console.log(newDec)
return '.' + newDec
})
}
return newNum + '万'
};
console.log(change(1005555))
</script>
很早以前写的,你再测试一下。
这篇关于javascript - 关于正则显示金额的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文