JS decimal truncation function

0

I am using the following function to truncate a number that entered a textbox to 10 decimals but these are printed to me. What I want to do is just let me write up to 10 decimals or less, but do not print them automatically, how can I do it?

var formatNumber10 = {
separador: ",", // separador para los miles
sepDecimal: '.', // separador para los decimales
formatear: function (num) {
    if (num === "" || num === "NaN") {
        num = 0;
    }
    num += '';
    num = num.replace(/[\$,]/g, '').trim();
    num = parseFloat(num);
    //num = Math.floor(num * 10000000000) / 10000000000;
    //num = num.toFixed(10);

    var splitStr = num.split('.');
    var splitLeft = splitStr[0];
    var splitRight = splitStr.length > 1 ? this.sepDecimal + splitStr[1] : '';
    if (splitLeft === "") {
        splitLeft = "0";
    }

    if (splitRight === "") {
        splitRight = ".00";
    } else if (splitRight.length === 2) {
        splitRight += "0";
    } else if (splitRight.length === 1) {
        splitRight += "00";
    }

    var regx = /(\d+)(\d{3})/;
    while (regx.test(splitLeft)) {
        splitLeft = splitLeft.replace(regx, '$1' + this.separador + '$2');
    }
    return this.simbol + splitLeft + splitRight;
},
new: function (num, simbol) {
    this.simbol = simbol || '';
    // return parseFloat(num).toFixed(2);
    return this.formatear(num);
}
}

var validarNum10 = function (event, _float) {
    event = event || window.event;
    var charCode = event.keyCode || event.which;
    var first = (charCode <= 57 && charCode >= 48);
    var num = parseFloat(this.val()).toFixed(10);
    this.val();
    if (_float) {
        var element = event.srcElement || event.target;
        return first || (element.value.indexOf('.') === -1 ? charCode === 46 : false);
    }
    //return first;
    return parseFloat(num).toFixed(10);
}
    
asked by Ivxn 25.09.2018 в 19:43
source

0 answers