uni-app 金额格式化

news/2025/1/3 5:52:07/

普通过滤器(filter)在当前页面定义,复制红色代码即可

<template>
    <view>
        <text >{{balance|money}}</text>
    </view>
</template>

<script>
    export default{
        data(){
            return{
                balance:1223434534.367,
            }
        },
        methods: {
            
        },
        filters:{
            money(value) {
                if (!value) return '0.00';
                var value = value.toFixed(2);//提前保留两位小数
                var intPart = Number(value).toFixed(0); // 获取整数部分
                var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); // 将整数部分逢三一断 ???
                var floatPart = '.00'; // 预定义小数部分
                value = value.toString();//将number类型转为字符串类型,方便操作
                var value2Array = value.split('.');
                if (value2Array.length === 2) { // =2表示数据有小数位
                  floatPart = value2Array[1].toString(); // 拿到小数部分
                  if (floatPart.length === 1) { // 补0,实际上用不着
                      return intPartFormat + '.' + floatPart + '0';
                  } else {
                      return intPartFormat + '.' + floatPart;
                  }
                } else {
                  return intPartFormat + floatPart;
                }
            }
        }

    }
</script>

<style>
</style>

 全局过滤器(filter)在main.js中定义,复制红色代码即可

import Vue from 'vue'
import App from './App'

Vue.filter('money', function (value) {
    if (!value) return '0.00';
    var value = value.toFixed(2);//提前保留两位小数
    var intPart = Number(value).toFixed(0); // 获取整数部分
    var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); // 将整数部分逢三一断 ???
    var floatPart = '.00'; // 预定义小数部分
    value = value.toString();//将number类型转为字符串类型,方便操作
    var value2Array = value.split('.');
    if (value2Array.length === 2) { // =2表示数据有小数位
      floatPart = value2Array[1].toString(); // 拿到小数部分
      if (floatPart.length === 1) { // 补0,实际上用不着
          return intPartFormat + '.' + floatPart + '0';
      } else {
          return intPartFormat + '.' + floatPart;
      }
    } else {
      return intPartFormat + floatPart;
    }
})

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App
})
app.$mount()

使用方法,需要使用的页面

<template>
    <view>
        <text >{{balance|money}}</text>
    </view>
</template>


http://www.ppmy.cn/news/106241.html

相关文章

通过源码编译安装LAMP平台的搭建

目录 1. 编译安装Apache httpd服务2 编写mysqld服务3 编译安装PHP 解析环境安装论坛 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c;能够提供动态Web站点服务及其应用开发环境。 LAMP是一个缩写词&#xff0c;具体包…

【通信接口】CAN总线协议

目录 一、什么是CAN 1、CAN 的概念 2、节点构成&#xff08;CAN 总线通信模型&#xff09; 3、差分信号&#xff08;电平特性&#xff09; 4、CAN 总线的特点 二、CAN 总线协议的通信过程 1、发送过程 2、接收过程 3、概括 三、CAN 通信帧的分类 一、什么是CAN 1、C…

使用 VSCode SSH 公网远程连接本地服务器开发 - cpolar内网穿透

文章目录 前言视频教程1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 转…

职业规划提示

文章目录 职业规划提示1. 学习的步伐不停止2.学会问、学会听&#xff0c;学会学习3. 为目前的工作全力以赴4. 构建人际网络5. 识别你的工作6. 慎重决定下一个工作7. 为未来做准备8. 量力而行9. 实现您的梦想 职业规划提示 从网络上看到的资源,个人觉得有些参考价值&#xff0c…

2核4G5M性能测评:腾讯云轻量应用服务器CPU内存带宽系统盘

腾讯云轻量应用服务器2核4G5M配置一年168元&#xff0c;三年628元&#xff0c;100%CPU性能&#xff0c;5M带宽下载速度640KB/秒&#xff0c;60GB SSD系统盘&#xff0c;月流量500GB&#xff0c;折合每天16.6GB流量&#xff0c;超出月流量包的流量按照0.8元每GB的支付流量费&…

【已解决】记一次git删除指定的某次历史提交,并执行后续提交

文章目录 一、问题二、解决三、拓展学习1.git log常用参数最近n条记录按文件或目录查看按照日期查看按作者和邮箱查看按指定格式查看按指定提交内容或提交说明查看查看某次提交以及之前的记录 常用组合命令(3) 其他相关命令 2.git rebase 一、问题 新项目&#xff0c;一个分支…

HarmonyOS/OpenHarmony应用开发-ArkTS语言@BuilderParam引用@Builder函数

当开发者创建了自定义组件&#xff0c;并想对该组件添加特定功能时&#xff0c;例如在自定义组件中添加一个点击跳转操作。若直接在组件内嵌入事件方法&#xff0c;将会导致所有引入该自定义组件的地方均增加了该功能。为解决此问题&#xff0c;ArkUI引入了BuilderParam装饰器&…

ChatGPT-AI地图

ChatGPT-AI地图 1、AI-对话 应用名称应用地址ChatGPThttps://chat.openai.com/NotionAINotion AIA.I. Data Sidekick&#xff1a;AI工具编写 SQL、文档等的速度提高10倍[AirOpsWritesonic&#xff1a;人工智能写作辅助工具Writesonic - Best AI Writer, Copywriting & Par…