列表列添加千分位保留两位小数

在这里插入图片描述

// 千分位无小数部分
function setThousandsMarkNoDecimal(num) {// console.log('num????', num, typeof num)if (!num) return num;let fu = false;if (num.toString().includes('-')) {fu = true;num = Number(num.toString().substr(1));}// num = Math.trunc(num); // 保留整数部分num = num.toFixed(2); // 保留整数部分let str = num.toString(); // 数字转字符串let str2 = null;// 如果带小数点if (str.indexOf('.') !== -1) {// 带小数点只须要解决小数点右边的const strArr = str.split('.'); // 依据小数点切割字符串str = strArr[0]; // 小数点右边str2 = strArr[1]; // 小数点左边//如12345.678  str=12345,str2=678}let result = ''; // 后果while (str.length > 3) {// while循环 字符串长度大于3就得增加千分位// 切割法 ,从后往前切割字符串 ⬇️result = ',' + str.slice(str.length - 3, str.length) + result;// 切割str最初三位,用逗号拼接 比方12345 切割为 ,345// 用result接管,并拼接上一次循环失去的resultstr = str.slice(0, str.length - 3); // str字符串剥离下面切割的后三位,比方 12345 剥离成 12}if (str.length <= 3 && str.length > 0) {// 长度小于等于3 且长度大于0,间接拼接到result// 为什么能够等于3 因为下面result 拼接时候在后面带上了‘,’// 相当于123456 上一步解决完之后 result=',456' str='123'result = str + result;}// 最初判断是否带小数点(str2是小数点左边的数字)// 如果带了小数点就拼接小数点左边的str2 ⬇️str2 ? (result = result + '.' + str2) : '';result = fu ? '-' + result : result;return result || 0;
}
/***  保留两位小数位* @param x "11111.1111"   111* @returns 11111.11       111.00*/
const reserveFloat = (x) => {x = x.replace(/[^\d.]/g, ''); //清除"数字"和"."以外的字符x = x.replace(/^\./g, ''); //验证第一个字符是数字而不是x = x.replace(/\.{2,}/g, '.'); //只保留第一个. 清除多余的x = x.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');x = x.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数var s = x.toString().split('.');if (s.length == 1) {x = x.toString() + '.00';return x;}if (s.length > 1) {if (s[1].length < 2) {x = x.toString() + '0';}return x;}return x;
};
// 千分位保留两位小数
export const numSetThousadMark = (num, zeroFiexd, unit) => {let str = '';if (!unit) {unit = '';}if (isRealNum(num)) {if (zeroFiexd === 2) {if (+num == 0) {str = '0.00' + unit;} else if (+num > 0) {str = setThousandsMark(reserveFloat(num.toString())) + unit;} else if (+num < 0) {str = '-' + setThousandsMark(clearFuhao(reserveFloat(num.toString()))) + unit;}} else {if (+num === 0) {str = '0' + unit;} else if (+num > 0) {str = setThousandsMark(num.toString()) + unit;} else if (+num < 0) {str = '-' + setThousandsMark(clearFuhao(num.toString())) + unit;}}}return str;
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring 篇】MyBatis注解开发:编写你的数据乐章

欢迎来到MyBatis的音乐殿堂&#xff01;在这个充满节奏和韵律的舞台上&#xff0c;注解是我们编写数据乐章的得力助手。无需繁琐的XML配置&#xff0c;通过简单而强大的注解&#xff0c;你将能够轻松地与数据库交互。在这篇博客中&#xff0c;我们将深入探讨MyBatis注解开发的精…

潜水泵如何实现远程状态监测与预测性维护?

在各行各业&#xff0c;潜水泵的健康数据采集一直是一项具有挑战性的任务。然而&#xff0c;一项被称为电气特征分析&#xff08;ESA&#xff09;的技术通过在电机控制柜而非泵本身上安装传感器&#xff0c;成功解决了这一问题。 图.泵&#xff08;iStock&#xff09; 一、电气…

Ubuntu重设root的密码

重设root的密码 未重设密码之前&#xff0c;Ubuntu 中默认的 root 密码是随机的&#xff0c;即每次开机都会有一个新的root 密码&#xff0c;所以此时的 root 用户密码并不确定&#xff1b; 重设root 密码&#xff0c;使用安装时创建的用户登录后sudo su切换至root用户&#…

云服务器搭建coturn出现Not reachable?

文章目录 问题复现解决方案1. 云服务器端口开放问题2. 检查配置文件3. 浏览器 问题解决 问题复现 使用云服务器搭建coturn服务时&#xff0c;出现not reachable报错 ICE Server配置是正确的 但测试relay时却报错&#xff1a;not reachable? 并且服务器也没输出相应日志。 …

(2021|ICLR,扩散先验,VE-SDE,逼真和忠实的权衡)SDEdit:使用随机微分方程引导图像合成和编辑

SDEdit: Guided Image Synthesis and Editing with Stochastic Differential Equations 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 2. 背景&#xff1a;使用随机微分方程…

vue3-生命周期

生命周期 生命周期 vue 组件实例都有自己的一个生命周期 从创建->初始化数据->编译模版->挂载实例到 DOM->数据变更后更新 DOM ->卸载组件 生命周期简单说就是 vue 实例从创建到销毁的过程 生命周期钩子 在各个周期运行时&#xff0c;会执行钩子函数&…

文件改名大师,随机大小写字母混合,让你的文件名独一无二!

文件重命名&#xff0c;单调又乏味&#xff1f;现在&#xff0c;有了我们的文件改名大师&#xff0c;让你的文件名充满惊喜与创意&#xff01;厌倦了那些毫无新意的文件名&#xff1f;我们为你提供了一种全新的方式&#xff0c;将文件名随机改名为大小写字母混合&#xff0c;让…

C语言实战系列一:经典贪食蛇

C语言学习必须实战&#xff0c;并且学完语法后就必须立即用实战来巩固。一般需要10来个比较复杂的程序才能掌握C语言。今天就教大家第一个小程序&#xff0c;贪食蛇。 首先上代码 一、代码 #include <stdio.h> #include <stdlib.h> #include <curses.h> #…

【版面稀缺】社科类3区SCI,稳定检索78年!着急毕业可投!

关注公主号【SciencePub学术】&#xff0c;发现期刊更多精彩~ 本期&#xff0c;小编给大家推荐的是一本SAGE旗下3区综合性期刊&#xff0c;均2-3个月左右录用&#xff01; 01 期刊基本信息 【期刊简介】IF&#xff1a;2.0-2.5&#xff0c;JCR3区&#xff0c;中科院4区&#x…

《WebKit 技术内幕》之八(2):硬件加速机制

2 Chromium的硬件加速机制 2.1 GraphicsLayer的支持 GraphicsLayer对象是对一个渲染后端存储中某一层的抽象&#xff0c;同众多其他WebKit所定义的抽象类一样&#xff0c;在WebKit移植中&#xff0c;它还需要具体的实现类来支持该类所要提供的功能。为了完成这一功能&#x…

【活动回顾】ABeam德硕| 艾宾信息技术开发(上海)宣讲会及企业座谈—山西大学专场

近日&#xff0c;ABeam大中华区董事长兼总经理中野洋辅先生带领艾宾上海招聘团队一行来到山西大学举行了校园招聘宣讲会&#xff0c;随后与院领导就校企合作事宜进行了深入的座谈交流。 宣讲会上&#xff0c;中野先生介绍了ABeam Consulting总社及ABeam中国的发展历程、业务版…

PIG框架学习3——Redisson 实现业务接口幂等

零、前言 ​ 业务接口幂等问题是在开发中遇到的&#xff0c;如果对业务接口代码不进行幂等控制&#xff0c;并且在前端没有对请求进行限制的情况下&#xff0c;可能会出现多次对接口调用&#xff0c;导致错误异常的发生。就上述情况&#xff0c;对PIGX自带的业务接口幂等实现进…

纯CSS3的单选框、复选框、开关按钮UI库-自由分享jQuery、html5、css3的插件库

纯CSS3的单选框、复选框、开关按钮UI库-自由分享jQuery、html5、css3的插件库-遇见你与你分享

远程登录Linux服务器:命令+工具版

通常在工作过程中&#xff0c;公司中使用的真实服务器或者是云服务器&#xff0c;都不允许除运维人员之外的员工直接接触&#xff0c;因此就需要通过远程登录的方式来操作。 所以&#xff0c;远程登录工具就是必不可缺的&#xff0c;目前&#xff0c;比较主流的有 Xshell,SSHS…

【算法与数据结构】518、LeetCode零钱兑换 II

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;本题的硬币是无数的&#xff0c;因此本题可以抽象成一个完全背包问题。完全背包和01背包的不同之处在于…

JavaScript 学习笔记(WEB APIs Day3)

「写在前面」 本文为 b 站黑马程序员 pink 老师 JavaScript 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. JavaScript 学习笔记&#xff08;Day1&#xff09; 2. JavaSc…

AI数据模型支撑下,鼎捷「预测透镜」如何助力汽配厂商浙江华工提质增效?

关于【浙江华工】 浙江华工汽车零部件有限公司&#xff08;以下简称“华工”&#xff09;成立于1987年&#xff0c;位于“中国汽摩配之都”浙江省瑞安塘下镇鲍七工业区&#xff0c;是一家集汽车发动机用冷却水泵和机油泵研发、制造、销售于一体的民营股份制企业。 近些年来&…

每日汇评:黄金的市场注意力转向央行和地缘政治

金价从2000美元附近的数周低点反弹&#xff1b; 到目前为止&#xff0c;黄金的进一步巩固当前价格是当前的主题&#xff1b; 地缘政治、宏观数据和央行是本周的主导市场情绪&#xff1b; 黄金价格设法恢复了平衡&#xff0c;扭转了本周开始时的负面走势&#xff0c;从关键争夺区…

恭迎佛陀与佛陀弟子舍利子的华琪舍利子塔位于泰国帕拉波柔玛塔寺

恭迎佛陀与佛陀弟子舍利子的华琪舍利子塔位于泰国帕拉波柔玛塔寺 &#xff08;华琪国际媒体中心01月21日讯&#xff09;马来西亚华琪舍利子博物馆与泰国甘烹碧帕拉波柔玛塔寺&#xff08;Wat Phra Borommathat&#xff09;于2023 年12月25日携手举办了恭迎76座佛陀与佛陀弟子舍…

【数据结构】 循环单链表的基本操作 (C语言版)

目录 一、循环单链表 1、循环单链表的定义&#xff1a; 2、循环单链表的优缺点&#xff1a; 二、循环单链表的基本操作算法&#xff08;C语言&#xff09; 1、宏定义 2、创建结构体 3、循环单链表的初始化 4、循环单链表的插入 5、求单链表长度 6、循环单链表的清空…