js 数字转换为金钱格式(快手面试)

法一:用toLocalString()

function toMoney(num, decimal){
     
  num = num.toFixed(decimal);
  num = parseFloat(num)
  num = num.toLocaleString();
  return num;//返回的是字符串23,245.12保留2位小数
}
console.log(toMoney(-98654.3))

用正则匹配

function transMoney(num, decimal) {
     
	var newData = num.toFixe(decimal)
  var [intager, point] = newData.toString().split(".")
  newData = intager.split("").reverse().join("").replace(/(\d{3})(?=\d)/g, elem => {
     
    return elem + ','
  })
  newData = newData.split('').reverse().join('')
  return(point ? (newData + '.' + point) : newData)
}
console.log(transMoney(-98654.3))

你可能感兴趣的:(JS,js)