格式化金额
2021/10/26 23:16:10
本文主要是介绍格式化金额,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用
对金额实行千分位的格式化
// utils.js文件中 export function formatMoney (num, option = {}) {} // vue文件中 import { formatMoney } from '../common/utils.js' data(){ return{ // 需要data中定义 formatMoney } }
参数说明
第一个参数 num 需要转化的数值
第一个参数 option ,是一个配置对象 Object 类型
- option.decimals number类型,保留几位小数 默认2
- option.padEnd boolean类型,小数位数不够时是否自动补0, 默认false
- option.delimiter string类型,千分位分割时的分割符,默认逗号(,)
源码
---height /** * @description 格式化金额为千分位格式 * @param {number} num 需要格式化的金额 * @param {obj} option配置对象,decimals最多保留几位小数,padEnd小数不够时是否填充0,delimiter千分位的填充符 * @return {string} */ export function formatMoney (num, option = {}) { option = { decimals: 2, padEnd: false, delimiter: ',', ...option } if (isNaN(num)) return let numArr = (num + '').split('.') if (option.decimals) { if (numArr.length > 0) { num = Math.round(num * Math.pow(10,option.decimals)) / Math.pow(10,option.decimals) numArr = (num + '').split('.') } numArr[1] = (numArr[1] || '') if (option.padEnd) numArr[1] = numArr[1].toString().padEnd(option.decimals, '0') } let intVal = numArr[0].replace(/(\d{1,3})(?=(\d{3})+)/g,`$1${option.delimiter}`) let floatVal = numArr[1] ? `.${numArr[1]}` : '' return intVal + floatVal }
知识
小数可以通过 字符串对象的split()把字符串转化为数组,分整数部分和小数部分
Math.round Math对象的round是吧 数字四舍五入返回一个number类型整数,如果需要保留两位第三位四舍五入需要做特殊处理,即
Math.round(num *100) / 100
这篇关于格式化金额的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南