JS:两个正数相加

142 阅读1分钟

function add(a, b) {
    a = parseFloat(a).toString();
    b = parseFloat(b).toString();
    let alen = 0, blen = 0;
    if(a.indexOf('.') > -1){
        alen = a.split('.')[1].length;
        a = a.replace('.','');
    }
    if(b.indexOf('.') > -1){
        blen = b.split('.')[1].length;
        b = b.replace('.','');
    }
    let clen = alen - blen;
    if(clen > 0){
        for(let i = 0; i < clen; i++) {
            b += '0'
        }
    }else if(clen < 0){
        clen = clen * (-1);
        for(let i = 0; i < clen; i++) {
            a += '0'
        }
    }
    return (parseInt(a) + parseInt(b))/Math.pow(10, Math.max(alen,blen));
}