javascript - 关于正则显示金额的问题

查看:141
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆