chartHelper.js
1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
define(['mUtil'], function (mUtil) {
return {
formatNumber:function(num, pattern) {
if(!pattern) return num;
var vprefix = "";
var vsuffix = "";
var m = /^\[(.*?)\]/.exec(pattern);//获取开头[]
if(m) {
vprefix = m[1];
}
m = /.*\[([^\]]*)\]$/.exec(pattern);
if(m) {
vsuffix = m[1];
}
if(vprefix.length > 0 && vprefix == vsuffix){
var pstr = pattern.substring(1,pattern.length - 1);
if(vsuffix == pstr) vprefix = "";
}
pattern = pattern.replace(/\[.*?\]/g,'');//去除所有中括号及内容
if (!isNaN(parseFloat(num)) && isFinite(num) && pattern.length > 0) {
var comma = false;
if(pattern.indexOf("#,##") != -1) comma = true;
var fmtarr = pattern ? pattern.split('.') : [''];
var precision = -1;
if(fmtarr.length > 1){
if(fmtarr[1].length > 0 && fmtarr[1].match(/0/g)){
precision = fmtarr[1].match(/0/g).length;
}else{
precision = 0;
}
}
var parts;
num = Number(num);
num = (precision !== -1 ? num.toFixed(precision) : num).toString();
parts = num.split('.');
if(comma){
parts[0] = parts[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + (','));
}
num = parts.join('.');
}
return vprefix + num + vsuffix;
}
};
});