JS一些数字计算

数字转换带有千分位分隔符的数据方法

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']

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值