js金额格式化

// 将数字转换成金额显示
function toMoney(val) {
  var str = (val/100*100).toFixed(2) + '';  //从别的地方抄的代码没有*100,结果金额小数点左移了两位,导致10000变100唉
  var intSum = str.substring(0,str.indexOf(".")).replace( /\B(?=(?:\d{3})+$)/g, ',' );//取到整数部分
  var dot = str.substring(str.length,str.indexOf("."))//取到小数部分搜索
  var ret = intSum + dot;
  return ret;
}

====其他方法

最开始使用了

function toMoney(num) {
  num = num.toFixed(2);
  num = parseFloat(num);
  num = num.toLocaleString();
  return num;// 返回的是字符串23,245.12保留2位小数,但是无法补全第一位0,会显示.00。
}

第二次改成

function toMoney(num) {
  num = parseFloat(num);
  num = num.toFixed(2);
  num = num.toLocaleString();
  return num;// 返回的是字符串23245.12保留2位小数,可以补全第一位0,会显示0.00,但是千分位符不显示了。
}

 

posted @ 2018-10-10 17:11  Ananco  阅读(2348)  评论(0编辑  收藏  举报