JSFiddle - React, Tailwind, and code Playground

HTML

<html>
<head>
</head>
<body>
<input type="text" id="txtAmount"/>
</body>
</html>

JavaScript

$(function () {
    $("#txtAmount").keydown(function () {
        checkAndSetAmount("txtAmount");
    });


    $("#txtAmount").keyup(function () {
        checkAndSetAmount("txtAmount");
        
    });
});

function roundToDecimal(value, decimal) {
    var number = new Number(value);
    return number.toFixed(decimal);
}


function checkAndSetAmount(textboxId) {
    var amount = $("#" + textboxId).val();
    var amountLength = amount.length;
    var cntDec = 0;
    var lengthFirstDec = 0;
    var finalAmount = "";
    
    for (var i=0; i<amountLength; i++) {
        var char = amount.charAt(i);
        if (!isNaN(char) || (char == ".")) {
            if (char == ".") 
                cntDec++;
            if ((char == ".") && (cntDec == 1)) {
                lengthFirstDec = i + 1;
                finalAmount += char;
            }
            if (!isNaN(char))
                finalAmount += char;
        }
    }
    if ((cntDec == 1) && (amountLength > (lengthFirstDec + 2)))
        finalAmount = roundToDecimal(finalAmount, 2);
    $("#" + textboxId).val(finalAmount);
}