Vue自定义过滤器格式化数字三位加一逗号实现代码


Posted in Javascript onMarch 23, 2018

前端处理一些金额,数字类的数据要求按照固定的格式显示,比如9,527,025,或者带有小数(如1,587.23)仍要三位一断。有些话也不必多说,既然要求如此,实现呗。

Vue自定义过滤器格式化数字三位加一逗号实现代码

作为前端主流框架之一的Vue,类似的功能肯定都有人写的很完善了。我呢,最讨厌不动脑筋去网上找现成的,所以我自己写了一个。话不多说,先放效果图再贴代码(为了展现思路,我面向过程写的,另外这个是针对保留两位小数的数字进行过滤,因为保留整数的太简单了)。

Vue自定义过滤器格式化数字三位加一逗号实现代码

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <meta http-equiv="Content-Type" content="text/html">
  <title>Vue数字过滤器逢三一断</title>
 </head>
 <body>
  <div id="app">
   <h4>说明:这个版本是针对保留两位小数的浮点数进行过滤格式化的</h4>
   <input type="number" v-model="num" />
   <p>{{num|NumFormat}}</p>
  </div>
 </body>
 <script type="text/javascript" src="vue.js"></script>
 <script>
  Vue.filter('NumFormat', function(value) {
   if(!value) return '0.00';
   var intPart = Number(value).toFixed(0); //获取整数部分
   var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //将整数部分逢三一断
   var floatPart = ".00"; //预定义小数部分
   var value2Array = value.split(".");
   //=2表示数据有小数位
   if(value2Array.length == 2) {
    floatPart = value2Array[1].toString(); //拿到小数部分
    if(floatPart.length == 1) { //补0,实际上用不着
     return intPartFormat + "." + floatPart + '0';
    } else {
     return intPartFormat + "." + floatPart;
    }
   } else {
    return intPartFormat + floatPart;
   }
  })
  var app = new Vue({
   el: "#app",
   data: {
    num: 0
   },
  })
 </script>
</html>

总结

以上所述是小编给大家介绍的Vue自定义过滤器格式化数字三位加一逗号实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Jquery 表单验证类介绍与实例
Jun 09 Javascript
javascript动态修改Li节点值的方法
Jan 20 Javascript
JavaScript中定义函数的三种方法
Mar 12 Javascript
学习JavaScript设计模式之模板方法模式
Jan 20 Javascript
简单介绍jsonp 使用小结
Jan 27 Javascript
Web Uploader文件上传插件使用详解
May 10 Javascript
javascript js 操作数组 增删改查的简单实现
Jun 20 Javascript
js实现动态显示时间效果
Mar 06 Javascript
Vue cli+mui 区域滚动的实例代码
Jan 25 Javascript
vue 监听屏幕高度的实例
Sep 05 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
Oct 07 Javascript
js实现橱窗展示效果
Jan 11 Javascript
JavaScript 五大常见函数
Mar 23 #Javascript
JS中原始值和引用值的储存方式示例详解
Mar 23 #Javascript
剖析Angular Component的源码示例
Mar 23 #Javascript
vue利用axios来完成数据的交互
Mar 23 #Javascript
JS动画定时器知识总结
Mar 23 #Javascript
p5.js 毕达哥拉斯树的实现代码
Mar 23 #Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 #Javascript
You might like
php的sso单点登录实现方法
2015/01/08 PHP
PHP中$GLOBALS与global的区别详解
2019/03/21 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
jQuery总体架构的理解分析
2011/03/07 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
2013/06/17 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
2015/06/19 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
Python简单计算文件夹大小的方法
2015/07/14 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
python切割图片的示例
2020/11/12 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
购买中国最好的电子产品:Geekbuying
2018/03/13 全球购物
电子商务应届生求职信
2013/11/16 职场文书
火车的故事教学反思
2014/02/11 职场文书
组工干部演讲稿
2014/09/02 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
小学校长开学致辞
2015/07/29 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python