挖个洞埋情人 2021-11-10 13:41 采纳率: 71.4%
浏览 114
已结题

关于前端数值转换的问题,该如何实现?

前端设置一个默认数值,然后该数值打到五位数之后自动转换成万级单位,十万转换成10W,以此往上类推。

  • 写回答

5条回答 默认 最新

  • CSDN专家-showbo 2021-11-10 13:48
    关注

    这个结构需要提取数字格式化后再替换,注意js代码用现在最新的,其他的不要增加

    img

    <span class="number">10000人阅读</span><br />
    <span class="number">100000人阅读</span>
    <script>
    
        function getFormat(num) {
            if (num >= 100000000) {
                return Math.floor(num / 100000000) + '亿'
            }
            if (num >= 10000) {
                return Math.floor(num / 10000) + '万'
            }
            return num;
        }
        window.addEventListener('load', function () {
            var numbers = document.querySelectorAll('.number');
            var cttimer = setInterval(function () {
                if (!/\d+/.test(numbers[0].innerHTML)) return;//模板未渲染退出
                //已经成功渲染数据
                clearInterval(cttimer)//清除计时器
                //执行格式化代码
                for (var i = 0; i < numbers.length; i++) {
                    var m = /\d+/.exec(numbers[i].innerHTML);//提取数字部分
                    numbers[i].innerHTML = numbers[i].innerHTML.replace(m[0], getFormat(parseFloat(m[0])))
                }
            }, 100);
        });
    </script>
    
    

    有帮助麻烦点下【采纳该答案】

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 创建了问题 11月10日