Excel数字格式转换方法
/** 格式化数字显示方式* 规则:* #代表占位符,不足不补0,0代表占位符,不足补0,进位按照四舍五入原则* 用法:* formatNumber(12345.999,'#,##0.00');* formatNumber(12345.999,'#,##0.##');* formatNumber(123,'000000');* @param num* @param pattern*/
export function formatNumber(num: number, pattern: string) {const fmtarr = pattern ? pattern.split('.') : ['']; // 格式化字串转为数组// 四舍五入处理const decimals = fmtarr.length > 1 ? fmtarr[1].length : 0; // 小数位num = Math.round(num * Math.pow(10, decimals)) / Math.pow(10, decimals);const strarr = num ? num.toString().split('.') : ['0']; // 值->字符串->数组let retstr = '';// 整数部分let str = strarr[0];let fmt = fmtarr[0];let i = str.length - 1;let comma = false;for (let f = fmt.length - 1; f >= 0; f--) {switch (fmt.substr(f, 1)) {case '#':if (i >= 0) {retstr = str.substr(i--, 1) + retstr; // 加当前字符}break;case '0':if (i >= 0) {retstr = str.substr(i--, 1) + retstr; // 加当前字符} else {retstr = '0' + retstr; // 补0}break;case ',':comma = true; // 有千位符retstr = ',' + retstr; // 直接加上逗号(,)break;}}// 整数字符串替换格式后剩余字符串处理if (i >= 0) {if (comma) {const l = str.length;for (; i >= 0; i--) {retstr = str.substr(i, 1) + retstr;if (i > 0 && (l - i) % 3 === 0) {retstr = ',' + retstr; // 加上千位符}}} else {retstr = str.substr(0, i + 1) + retstr; // 无千位符直接加在前面}}retstr = retstr + '.';// 处理小数部分str = strarr.length > 1 ? strarr[1] : '';fmt = fmtarr.length > 1 ? fmtarr[1] : '';i = 0;for (let f = 0; f < fmt.length; f++) {switch (fmt.substr(f, 1)) {case '#':if (i < str.length) {retstr += str.substr(i++, 1); // 加当前字符}break;case '0':if (i < str.length) {retstr += str.substr(i++, 1); // 加当前字符} else {retstr += '0'; // 补0}break;}}// 返回// 1.去掉开头的逗号(,)和加号(+);2.结尾的小数点(.)return retstr.replace(/^,+/, '').replace(/\.$/, '');
}
Excel数字格式转换方法相关推荐
- asp导出EXCEL数字格式及自动适应宽度的问题
asp导出EXCEL数字格式及自动适应宽度的问题 下面直接进行代码演示: <% If Response.IsClientConnected Then Response.Flush Else Re ...
- Python xlwt设置excel数字格式
对于xls类型的excel,常需要设置单元格的数字格式. 经整理以下是各个数字格式(包括:常规格式.自定义.货币.百分数.科学记数法.分数.会计专用.文本及日期格式)的设置方法以及设置后效果展示. 代 ...
- python 写入excel数字格式,怎么在Python中写入Excel的格式
怎么在Python中写入Excel的格式 发布时间:2021-03-12 17:02:25 来源:亿速云 阅读:77 作者:Leah 这期内容当中小编将会给大家带来有关怎么在Python中写入Exce ...
- fastadmin导出excel数字格式,支持excel求和运算
一.导出数字格式 在初始化 table.bootstrapTable 的时候增加js exportOptions: {fileName: 'export_' + Moment().format(&q ...
- java导出excel数字格式_POI 导出excel带小数点的数字格式显示不对解决方法
最近看到了一个问题就是java导出excel中带小数点的数字显示不对, 比如我想在excel中第一行显示: 3,000.0 但是在excle中导出的格式总是不带小数点 3000(非文本格式),而且也 ...
- python 写入excel数字格式_从Pandas写入Excel时设置默认数字格式
我把浮点数的格式改为小数点后1位.data = {'A Prime': {0: 3.26, 1: 3.24, 2: 3.22, 3: 3.2, 4: 3.18, 5: 3.16, 6: 3.14, 7 ...
- POI 导出excel带小数点的数字格式显示不对解决方法
POI 导出excel带小数点的数字格式显示不对解决方法 参考文章: (1)POI 导出excel带小数点的数字格式显示不对解决方法 (2)https://www.cnblogs.com/firstd ...
- Excel 2007中创建或删除自定义数字格式
Excel 2007提供了许多内置数字格式,但如果这些格式无法满足您的需要,您可以自定义内置数字格式以便创建自己的数字格式. 创建自定义数字格式 1.打开要创建并存储自定义数字格式的工作簿. 2.在& ...
- excel不显示0_【扫盲】小白必看:excel表里数字格式常见的几种错误?
hello,我是小萌,在后台收到了许多小伙伴的回复,其中有一个小伙伴说,你分享的excel办公小技巧真棒,超级实用,而且操作简单,容易学习,但是有个小问题,比如我们新手有的连excel里的单元格,数据 ...
最新文章
- 视觉人工智能市场格局初成型,国内企业占半壁江山
- ORA-600 [kddummy_blkchk] [18038] 一例
- mysql 怎么导入函数_mysql导入导出包括函数或者存储过程_MySQL
- 关于springboot工具类中@Autowired注入bean,用static直接修饰,静态方法使用bean时报空指针异常错误...
- [云炬创业学笔记]第二章决定成为创业者测试15
- POI导出word带图片及本地测试没问题,在服务器上找不到模板的问题
- 忧云:喻红艺术展观后
- 【转】WebApi 身份认证解决方案:Basic基础认证
- python扫描字符串文本时下线_python:SyntaxError:扫描字符串li时的EOL
- sails mysql_sails项目创建与常用基础操作总结
- Spring 解耦反射创建对象
- c语言中3%3e2%3e1的值,C语言--ch2--数据类型和表达式.ppt
- 按新的退休年龄计算,64年的职工应该是哪年退休呢?
- vueweb端响应式布局_响应式网站和PC+手机端网站有什么区别?
- 【CUDA学习】计时方法
- 阻止picker.js插件弹出键盘
- oracle查看脚本,oracle 查看表空间的脚本
- win10计算机管理字体糊,完美解决:Win10系统字体模糊解决教程
- 关于约束多目标MOEA/D-DAE
- boost库中thread多线程中的thread_specific_ptr
热门文章
- CentOS7安装Oracle11g时84%出错,求大佬解答
- 积极响应号召_30多个“号召性用语”按钮模板下载
- electron仿微信截图工具(初学者的尝试笔记)
- 【224】基本功能计算器
- ligo_algo_art
- 手把手系列--验证自己编写的STM32H750XBH6_ArtPi平台Keil MDK Flash下载算法
- 网易视频云:HBase优化实战
- 武林秘籍之设计模式迷你手册
- mapbox pbf vt2geojson 解析pbf图层为geojson格式
- 专访天联世纪总裁朱威廉:暴利网游遭遇拐点