我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue金融数字格式化(并保留小数)数字滚动效果实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue金融数字格式化(并保留小数)数字滚动效果实现

Vue金融数字格式化(并保留小数) 数字滚动

 提示

 我选用的是Vue 过滤器使用,个人觉得比较方便,不过过滤器不支持Vue3,你可以封装成方法嘛都行,下面我以过滤器的形式展示出来

  filters: {
    // 截取字符串
    subStringText(value, index) {
      const str = String(value);
      if (!value) return 0;
      return str.length > index ? str.substring(0, index) + '...' : str;
    },
   // 格式化数字
    formatNumber(num,decimals) {
      num = num.toFixed(decimals);
      num += '';
      const x = num.split('.');
      let x1 = x[0];
      const x2 = x.length > 1 ? '.' + x[1] : '';
      const rgx = /(\d+)(\d{3})/;
      if (',' && isNaN(parseFloat(','))) {
        while (rgx.test(x1)) {
          x1 = x1.replace(rgx, '$1' + ',' + '$2');
        }
      }
      return  x1 + x2;
    },
  },

使用: 

有个插件 --  可以轻松实现数字滚动并且数字格式化,推荐vue-count-to ,非常友好,

补充:vue做数字滚动效果

vue实现数字滚动效果

近期在做项目的时候,产品要求实现数字滚动效果如下:

在这里插入图片描述

用jquery实现

html:
<div class="develop">
<!--滚动的数字-->
        <p><span class="shuzi">3000000</span></p>
        <p><span class="shuzi">60000</span></p>
    </div>
js:
$(".navigation_right li").click(function () {
    $(this).siblings('li').removeClass("yanse");
  });
  let arr = $(".develop>p>.shuzi");
  arr.each(function(e, a){
    let num = $(a).text()
    let i = 0;
    let count = parseInt(num /500);
    let timer = setInterval(function(){
      $(a).text(i)
      i += count;
      if (i > num)
        window.clearInterval(timer)
    }, 5)
  })

这样做有一个问题,只能和500取余且为整数,而且滚动的时间也没发控制,显然是不满足我们的业务场景的。

用vue-countTo实现

vue-countTo是一个无依赖,轻量级的vue组件,可以自行覆盖easingFn。

安装使用

npm install vue-count-to

例子

<template>
  <countTo :startVal='startVal' :endVal='endVal' :duration='3000'></countTo>
</template>
<script>
//直接引入组件'vue-count-to'
  import countTo from 'vue-count-to';
  export default {
  //注册组件
    components: { countTo },
    data () {
      return {
      //数字开始
        startVal: 0,
       //数字结束
        endVal: 50000
      }
    }
  }
</script>

其中:startVal为开始数字,startVal为结束数字,duration为滚动时长, decimal:保留小数点后几位

PropertyDescriptiontypedefault
startVal开始值Number0
endVal结束值Number2017
duration持续时间,以毫秒为单位Number3000
autoplay自动播放Booleantrue
decimals要显示的小数位数Number0
decimal十进制分割String.
separator分隔符String,
prefix前缀String''
suffix后缀String''
useEasing使用缓和功能Booleantrue
easingFn缓和回调Function

** 注意:当autoplay:true时,它将在startVal或endVal更改时自动启动**

Function NameDescription
mountedCallback挂载以后返回回调
start开始计数
pause暂停计数
reset

重置countTo

到此这篇关于Vue金融数字格式化(并保留小数) 数字滚动的文章就介绍到这了,更多相关vue数字滚动内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue金融数字格式化(并保留小数)数字滚动效果实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vue金融数字格式化(并保留小数)数字滚动效果实现

这篇文章主要介绍了Vue金融数字格式化(并保留小数)数字滚动效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-16

编程热搜

目录