本函数考虑了精度丢失和四舍五入问题。
/**
* 金额格式化过滤器
* @param value {Number} 金额
* @param s {Number} 小数点位数
* @return 千分符分隔的金额,例如:1,532.18
*/
function thousands(value: number, s: number = 2) {
value = Number(value);
if (Object.is(value, NaN)) {
value = 0;
}
const times: number = Math.pow(10, s);
const result = Math.floor(value * times + 0.5) / times;
return result.toFixed(s).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。