JSFiddle - React, Tailwind, and code Playground

by mootinator

JavaScript

alert(AddTwo("10.001","10.012"));
alert(AddTwo("10.001","10.019"));
alert(AddTwo("10.000","11"));
alert(AddTwo("56","14"));

function AddTwo(n1, n2) {
    var n3 = parseFloat(n1) + parseFloat(n2);
    var count1 = Decimals(n1, '.');
    var count2 = Decimals(n2, '.');
    var decimals = Math.max(count1, count2);
    var result = n3.toFixed(decimals)
    var resultDecimals = Decimals(result, '.');
    if (resultDecimals > 0) {
        return result.replace(/\.?0*$/,'');
    }
    else {
        return result;
    }
}

// use dec_sep for internationalization
function Decimals(x, dec_sep)
{
    var tmp=new String();
    tmp=x;
    if (tmp.indexOf(dec_sep)>-1)
        return tmp.length-tmp.indexOf(dec_sep)-1;
    else
        return 0;
}