数字转换带有千分位分隔符的数据方法
MoneyFormat(money) {
if (money && money != null) {
money = String(money);
var left = money.split('.')[0] ,right = money.split('.')[1];
right = right ? (right.length >= 2 ? '.' + right.substr(0, 2) : '.' + right + '0') : '.00';
var temp = left.split('').reverse().join('').match(/(\d{1,3})/g);
return (Number(money) < 0 ? '-' : '') + temp.join(',').split('').reverse().join('') + right;
} else if (money === 0) { // 注意===在这里的使用,如果传入的money为0,if中会将其判定为boolean类型,故而要另外做===判断
return '0.00';
} else {
return '';
}
},
//数据平分占比
‘a’, ‘b’, ‘c’, ‘d’, ‘e’ 的平均占比是20%
function avg(){
var arr=["a",'b',"c",'d','e']
var arr2=[]
var num=arr.length
for(let i=0;i<num;i++){
arr2[i]=Math.floor(100/num)
}
let k=100 % num;
for(k; k>0; k--){
arr2[k-1]++
}
}
console.log(arr2,arr) [20, 20, 20, 20, 20] ['a', 'b', 'c', 'd', 'e']
根据输入的数据改变比例 5 4 3 2 1 站的比例分别为33% 27% 20% 13% 7%
var weightData=[5,4,3,2,1];
var weightVal=[]
var total=0; //总称重值
for(let i=0; i<weightData.length; i++){
if(total==0){
total=weightData[i]
}else{
total=parseInt(total)+parseInt(weightData[i])
}
}
for(let i=0; i<weightData.length; i++){
weightVal[i]=(weightData[i]/total *100).toFixed(0)
}
console.log(weightData,weightVal) [5, 4, 3, 2, 1] ['33', '27', '20', '13', '7']