How do I format a number to 2 decimal places, but only if there are already decimals?

I have a jQuery 1.5+ script, and you select a quantity in a drop-down menu (1,2,3, etc) and it multiplies that quantity by $1.50 to show you a total price. Basically – it’s multiplying the quantity selected (1, 2, 3, etc) by the base price of $1.50 – BUT – I can’t figure out how to display the price correctly with decimals – example: if you select a quantity of 2, the price displays correctly as $3 (no decimals). But, if you choose 1, or 3, the price displays as $1.5 / $4.5 – missing a 0 in the hundredths decimal place.

Here’s the code – any idea how to show a second 0 in the case that there are not already two decimals? $3 should stay as $3, but $4.5 should become $4.50, etc – I can’t get it to work without showing ALL numbers to two decimals, and that’s where I’m stuck!

<script type='text/javascript'>     
    $(function() {         
        $('#myQuantity').change(function() {             
            var x = $(this).val();                      
            $('#myAmount').text('$'+(x*1.5));// this is the part that isn't displaying decimals correctly!
        });     
    }); 
</script>

I’m experimenting with something like result = num.toFixed(2); but can’t get it to work yet.

Thank you Kindly!

18 thoughts on “How do I format a number to 2 decimal places, but only if there are already decimals?”

Leave a Comment