ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

金额小数点保留两位,并对小数位进行四舍五入

金额小数点保留两位,并对小数位进行四舍五入

通常我们对于小数位的数据进行保留两位,都是使用.toFixed(2),但是实际上会存在精度问题,例如:587.545, toFixed之后的结果是587.54而不是我们想要的587.55,所以为了精度准确,用了以下方法处理,解决!√

let formatter = new Intl.NumberFormat('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2, }) // function removeThousandSeparator(str) { // return str.replace(/,/g, ''); // } // 处理金额保留两位小数点,并进行小数点四舍五入精度问题 const formaterMoney = (data: any) => { if (!data) return "0.00" // 最终处理后结果 let temp = '' // // 处理小数部分 if ((data + '').includes('.')){ const dot = data.toString().split(".")[1] if (dot.length == 1) { temp = data + '0' } if (dot.length == 2) { temp = data + '' } if (dot.length > 2) { let num = formatter.format(data) temp = num.includes(',') ? num.replace(/,/g, '') : num // 千分位符去除 } } else { temp = intPart + '.00' } return temp }
返回列表