JSFiddle - React, Tailwind, and code Playground

JavaScript

formatNumber('32432342342.3574', 5);
formatNumber(32432342342.3574, 2);
formatNumber(1342.525423, 4, ".", ",");
formatNumber(1342.525423, 2, ",", ".");
formatNumber(1342.525423);
formatNumber(1342.525423, 0);
formatNumber(342.525423, 8);
formatNumber(42.525423, 8, null, null, false);
formatNumber(2.5, 3, ",", ".");

    function formatNumber(num, precision, sep, thousand, addTrailing0) {
        if (isNaN(num))
            return "";
        if (isNaN(precision))
            precision = 2;
        if (typeof addTrailing0 == "undefined")
            addTrailing0 = true;
        
        var factor = Math.pow(10, precision);
        num = String(Math.round(num * factor) / factor);
        
        if (addTrailing0 && precision > 0) {
            if (num.indexOf(".") < 0)
                num += ".";
            for (var length = num.substr(num.indexOf(".")+1).length; length < precision; ++length)
                num += "0";
        }
        
        var parts = num.split(".");
        parts[0] = parts[0].split("").reverse().join("").replace(/(\d{3})(?=\d)/g, "$1" + (thousand || ",")).split("").reverse().join("");
        
        num = parts[0] + (parts.length > 1 ? (sep || ".") + parts[1] : "");
        
        //debug:
        document.write(num + "<br />");
        
        return num;
    }