博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue过滤格式化金额
阅读量:6006 次
发布时间:2019-06-20

本文共 1741 字,大约阅读时间需要 5 分钟。

hot3.png

先创建格式化金额工具js

const digitsRE = /(\d{3})(?=\d)/gexport function currency (value, currency, decimals) {  value = parseFloat(value)  if (!isFinite(value) || (!value && value !== 0)) return ''  currency = currency != null ? currency : '$'  decimals = decimals != null ? decimals : 2  var stringified = Math.abs(value).toFixed(decimals)  var _int = decimals    ? stringified.slice(0, -1 - decimals)    : stringified  var i = _int.length % 3  var head = i > 0    ? (_int.slice(0, i) + (_int.length > 3 ? ',' : ''))    : ''  var _float = decimals    ? stringified.slice(-1 - decimals)    : ''  var sign = value < 0 ? '-' : ''  return sign + currency + head +    _int.slice(i).replace(digitsRE, '$1,') +    _float}/* * formatMoney(value,type) * 功能:金额按千位逗号分割 * 参数:value,需要格式化的金额数值. * 参数:type,判断格式化后的金额是否需要小数位. * 返回:返回格式化后的数值字符串. */export function formatMoney(value, type) {  if (/[^0-9\.]/.test(value))    return "0";  if (value == null || value == "")    return "0";  value = value.toString().replace(/^(\d*)$/, "$1.");  value = (value + "00").replace(/(\d*\.\d\d)\d*/, "$1");  value = value.replace(".", ",");  var re = /(\d)(\d{3},)/;  while (re.test(value))    value = value.replace(re, "$1,$2");  value = value.replace(/,(\d\d)$/, ".$1");  if (type == 0) {// 不带小数位(默认是有小数位)    var a = value.split(".");    if (a[1] == "00") {      value = a[0];    }  }  return value;}

声明过滤器两种方式(任选一种):

 1.声明局部过滤器 

import {currency} from './../util/currency'export default {     filters:{      // 过滤器名称(任何名称): 对应过滤函数方法名称      currency:currency   }}

2.声明全局过滤器

import Vue from 'vue'import {currency} from './../util/currency'//过滤器全局名称,对应过滤函数方法名Vue.filter("currency",currency)

使用过滤器

{
{1478511 | currency('$')}}

 

转载于:https://my.oschina.net/u/2251646/blog/1491497

你可能感兴趣的文章
jquery 控制 video 视频播放和暂停
查看>>
[Java Web 第一个项目]客户关系处理系统(CRM)项目总结
查看>>
HD-ACM算法专攻系列(23)——Crixalis's Equipment
查看>>
CSS-设置Footer始终在页面底部
查看>>
iOS-登录认证/json解析
查看>>
HDU 3777 Page Count 字符串处理
查看>>
php与html代码的若干转换
查看>>
淘淘商城的第一天
查看>>
MFC SendMessage和PostMessage 区别
查看>>
Linux : C语言pause()函数:让进程暂停直到信号出现
查看>>
atom插件安装
查看>>
洛谷1527(bzoj2738)矩阵乘法——二维树状数组+整体二分
查看>>
Unsupported configuration plain style unsupported in a navigation item
查看>>
4.  General Partitioning Guidelines
查看>>
五 Python基础 数据类型和变量
查看>>
字符编码的奥秘
查看>>
底部特征到底是什么样?
查看>>
oracles数据库定时任务
查看>>
WEBPACK & BABEL 打包项目
查看>>
各种乱码
查看>>