JAVASCRIPT-货币千分位,并且保留两位小数

Posted 木易锅巴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVASCRIPT-货币千分位,并且保留两位小数相关的知识,希望对你有一定的参考价值。

  /**
   * @param {*} money[输入的money]
   * @param {string} [货币符号,sysmbol=‘¥‘]
   * @param {number} [小数点位数,places=2]
   * @returns undefined
   */
  function dealMoney(money, sysmbol = ‘¥‘, places = 2) {
    const zero = `${sysmbol}0.00`;
    if (isNaN(money) || money === ‘‘) return zero;
 
     if(money && money != null){
         money = `${money}`;
         let left=money.split(‘.‘)[0]; // 小数点左边部分
         let right=money.split(‘.‘)[1]; // 小数点右边
         // 保留places位小数点,当长度没有到places时,用0补足。
         right = right ? (right.length >= places ? ‘.‘ + right.substr(0, places) : ‘.‘ + right + ‘0‘.repeat(places - right.length)) : (‘.‘ + ‘0‘.repeat(places));
         var temp = left.split(‘‘).reverse().join(‘‘).match(/(d{1,3})/g); // 分割反向转为字符串然后最多3个,最少1个,将匹配的值放进数组返回
         return (Number(money) < 0 ? ‘-‘ : ‘‘) + sysmbol + temp.join(‘,‘).split(‘‘).reverse().join(‘‘) + right; // 补齐正负号和货币符号,数组转为字符串,通过逗号分隔,再分割(包含逗号也分割)反向转为字符串变回原来的顺序
     } else if (money === 0) {
         return zero;
     } else {
         return zero;
     }
 }
调用:
dealMoney(1); // "¥1.00"
dealMoney(89783, ‘$‘, 3); // "$89,783.000"
dealMoney(‘guo‘, ‘$‘, 3); // "$0.00"

 

以上是关于JAVASCRIPT-货币千分位,并且保留两位小数的主要内容,如果未能解决你的问题,请参考以下文章

DB2中如果转换数值显示为两位小数,并显示千分位逗号要怎么写SQL?

数字的处理方法(保留小数点两位将数字转化为千分位格式)

价格格式化--小数保留两位,整数部分用千分号分割

JS对数字进行货币格式化并且保留两位小数点,小数用0补全

C语言编程 对变量保留两位小数 并进行四舍五入

javascript 数值增加千分位分隔,保留小数部分