vue中使用js实现千分位分割-函数封装
vue过滤器中使用
filters: {
//第一种
Statistic(num) {
let [integer, decimal] = String.prototype.split.call(num, '.')
integer = (integer || 0).toString()
let result = ''
while (integer.length > 3) {
result = ',' + integer.slice(-3) + result
integer = integer.slice(0, integer.length - 3)
}
if (integer) {
result = integer + result
}
return `${result}${decimal ? '.' + decimal : ''}`
},
//第二种
Statistic1(num) {
num = parseFloat(Number(num).toFixed(3))
let [integer, decimal] = String.prototype.split.call(num, '.')
integer = integer.replace(/\d(?=(\d{3})+$)/g, '$&,') // 正则先行断言
return `${integer}${decimal ? '.' + decimal : ''}`
},
//第三种
let thousandth = (s, type = 0) => {
// if (!s) return '0';
// return (s+'').replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,'$1,');
if (/[^0-9\.]/.test(s)) return "0";
if (s == null || s == "") return "0";
s = s.toString().replace(/^(\d*)$/, "$1.");
s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1");
s = s.replace(".", ",");
var re = /(\d)(\d{3},)/;
while (re.test(s)) s = s.replace(re, "$1,$2");
s = s.replace(/,(\d\d)$/, ".$1");
if (type == 0) {
// 不带小数位(默认是有小数位)
var a = s.split(".");
if (a[1] == "00") {
s = a[0];
}
}
return s;
}
}
js函数
第一种
function toThousands(num) {
let [integer, decimal] = String.prototype.split.call(num, '.')
integer = (integer || 0).toString()
let result = ''
while (integer.length > 3) {
result = ',' + integer.slice(-3) + result
integer = integer.slice(0, integer.length - 3)
}
if (integer) {
result = integer + result
}
return `${result}${decimal ? '.' + decimal : ''}`
},
第二种
function toThousands(num) {
num = parseFloat(Number(num).toFixed(3))
let [integer, decimal] = String.prototype.split.call(num, '.')
integer = integer.replace(/\d(?=(\d{3})+$)/g, '$&,') // 正则先行断言
return `${integer}${decimal ? '.' + decimal : ''}`
},
注意
num.toFixed is not a function(js报错)
toFixed 是Number类型的方法 所以要改为 num = Number(num).toFixed(2);
本文来自博客园,作者:JackieDYH,转载请注明原文链接:https://www.cnblogs.com/JackieDYH/p/17634397.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现