当前位置: 首页 > news >正文

VUE--保留小数(过滤器)

1.cutOutNum.js

export const cutOutNum = (num, decimals) => {if (isNaN(num) || (!num && num !== 0)) {return "-";}function toNonExponential(_num) {var m = Number(_num).toExponential().match(/\d(?:\.(\d*))?e([+-]\d+)/);return Number(_num).toFixed(Math.max(0, (m[1] || "").length - m[2]));}// 为了兼容科学计数法的数字num = toNonExponential(num);// 获取小数点的位置 + 1(不存在小数点的indexOf值为-1)const pointIndex = String(num).indexOf(".") + 1;// 获取小数点后的个数(需要保证有小数位)const pointCount = pointIndex ? String(num).length - pointIndex : 0;// 补零函数function zeroFill(zeroNum, num) {for (let index = 0; index < zeroNum; index++) {num = `${num}0`;}return num;}// 源数据为"整数"或者小数点后面小于decimals位的作补零处理if (pointIndex === 0 || pointCount <= decimals) {let tempNumA = num;// 区分"整数"和"小数"的补零if (pointIndex === 0) {tempNumA = `${tempNumA}.`;tempNumA = zeroFill(decimals - pointCount, tempNumA);} else {tempNumA = zeroFill(decimals - pointCount, tempNumA);}return Number(tempNumA) === 0 ? 0 : tempNumA;}// 截取当前数据到小数点后decimals位const Int = String(num).split(".")[0];const Decimal = String(num).split(".")[1].substring(0, decimals);const tempNumB = `${Int}.${Decimal}`;// 需求:数据为0时,需要显示为0,而不是0.00...return tempNumB;
};

2.调用

<template><div>{{ total | numFilter }}</div>
</template><script>
import { cutOutNum } from "@/util/cutOutNum";
export default {data() {return {total: 2.3334,};},filters: {numFilter(value) {return cutOutNum(value, 3);},},methods: {},
};
</script><style>
</style>
http://www.lryc.cn/news/274636.html

相关文章:

  • 书生·浦语大模型实战营第一次课堂笔记
  • Mysql为什么只能支持2000w左右的数据量?
  • 限制选中指定个数CheckBox控件(1/2)
  • QT中的信号与槽的讲解
  • RNN文本分类任务实战
  • 【算法系列 | 12】深入解析查找算法之—斐波那契查找
  • 全新的C++语言
  • three.js 多通道组合
  • 编程笔记 html5cssjs 022 HTML表单概要
  • ​三子棋(c语言)
  • MySQL-DCL
  • QT开源类库集合
  • C++ STL(2)--算法(2)
  • 格密码基础:对偶格(超全面)
  • ECMAScript简介及特性
  • csdn中的资源文件如何删除?
  • NA原理及配置
  • 解决:TypeError: ‘tuple’ object does not support item assignment
  • vue3项目中axios的常见用法和封装拦截(详细解释)
  • 基础语法(一)(1)
  • YOLOv8模型yaml结构图理解(逐层分析)
  • 【大数据】Zookeeper 集群及其选举机制
  • Redis 过期策略
  • RT_Thread 调试笔记:串口打印、MSH控制台 相关
  • (适趣AI)Vue笔试题
  • Matytype的安装问题(word及PPT报错问题)
  • docker拉取镜像提示 remote trust data does not exist for xxxxxx
  • ElasticSearch Nested类型全文检索、聚合查询
  • 专业级的渗透测试服务,助力航空业数字化安全启航
  • 【docker】安装 Redis