如何为DataTable列求和后的页脚合计值添加货币格式
DataTable页脚合计货币格式化实现方案
你可以直接使用JavaScript原生内置的Intl.NumberFormat接口完成货币格式化,不需要引入额外第三方依赖,可灵活适配不同币种、小数位数的展示需求。
可自定义配置项
根据实际业务需要调整以下参数即可:
- 地区代码:中国大陆填
zh-CN、美国填en-US,会自动适配对应地区的货币展示习惯 - 币种代码:人民币填
CNY、美元填USD、欧元填EUR - 小数位数:通过
minimumFractionDigits配置最少保留位数,默认货币格式会保留2位小数
修改后完整代码
footerCallback: function( tfoot, data, start, end, display ) { var api = this.api(); // 提前封装通用格式化方法,避免重复写逻辑 const formatToCurrency = (amount) => { // 示例为人民币格式,按需修改参数即可 return new Intl.NumberFormat('zh-CN', { style: 'currency', currency: 'CNY', minimumFractionDigits: 2 }).format(amount); } $(api.column(5).footer()).html( formatToCurrency(api.column(5).data().reduce(function ( a, b ) { // 加Number强制转换避免字符串拼接异常,现有逻辑稳定可删掉 return Number(a) + Number(b); }, 0)) ); $(api.column(6).footer()).html( formatToCurrency(api.column(6).data().reduce(function ( a, b ) { return Number(a) + Number(b); }, 0)) ); $(api.column(7).footer()).html( formatToCurrency(api.column(7).data().reduce(function ( a, b ) { return Number(a) + Number(b); }, 0)) ); var col8 = $(api.column(8).footer()).html( formatToCurrency(api.column(8).data().reduce(function ( a, b ) { return Number(a) + Number(b); }, 0)) ); },
内容的提问来源于stack exchange,提问作者user150328
相关产品推荐
相关产品推荐

