Search code examples
javascriptjquerydecimaldigits

Display decimals two digits unless integer


Multiplication of two numbers

$(document).ready(function () {
    $("#input1, #input2").change(function () {
        var num = parseFloat($("#input1").val()) * parseFloat($("#input2").val());

        if (num % 1 != 0) {
            num = Math.floor(num * 100) / 100;
        } else {
            num = parseInt(num);
        }

        $("#input3").val(num);
    });
});
  • If the result is integer as 10, it is written as 10. It is ok for me.

  • If the result is as 10.01, it is written as 10.01. It is ok for me.

  • But if the result is as 10.10, it is written as 10.1 instead of 10.10.

    How do display "always" two digits only if there is any decimals?


Solution

  • Try this:

    http://jsfiddle.net/qjmve/

    $(document).ready(function () {
        $("#input1, #input2").change(function () {
            var num = parseFloat($("#input1").val()) * parseFloat($("#input2").val());
    
            if (num != parseInt(num))
                num = num.toFixed(2);
    
            $("#input3").val(num);
        });
    });