ECharts饼图显示人民币符号千分位逗号隔开

it2023-06-11  84

  今天给客户做个报表,客户是意大利的人,要求饼图显示千分位和人民币符号,不要小数点,ecahrts默认满足不了要求只能自己写方法处理了,直接上代码

title: { text: '产品销量占比', left: 'center' }, tooltip: { trigger: 'item', formatter:function (params) { var data=params.data; var val=parseInt(data.value); return data.name+':¥'+vm.formatNum(val)+'('+params.percent+'%)' } }, legend: { type: 'scroll', orient: 'vertical', right: 10, top: 20, bottom: 20, data: [], selected: true }, series: [ { name: '产品', type: 'pie', radius: '55%', center: ['40%', '50%'], label: { normal: { formatter: '{d}%' } }, data: [], emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ]

用到的vm.formatNum代码如下

vm.formatNum=function(strNum) { if(strNum.length <= 3) { return strNum; } if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(strNum)) { return strNum; } var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3; var re = new RegExp(); re.compile("(\\d)(\\d{3})(,|$)"); while(re.test(b)) { b = b.replace(re, "$1,$2$3"); } return a + "" + b + "" + c; }

注意:上面代码里面的data我是在外面赋值的,主要方法就是formatter对应的方法

下面是效果图

最新回复(0)