To display a currency value with the proper number of digits to the right of the decimal point, first use the Math.pow function to calculate a multiplier, then use that multiplier to round the number to the required number of digits.
Convert that value to a string so you can determine the location of the decimal point, or if you need to add a decimal point, and if you need to add zeros to the decimal portion. Code to convert a value to currency format is shown below.
<script> function formatTo(value, precision) { // calculate multiplier required to get required number // of digits to the right of the decimal point var multiplier = Math.pow(10, precision); // round value to required number of digits var amount = Math.round(value * multiplier) / multiplier; // convert to string var strAmt = amount.toString(); // determine if you need to add zeros to decimal part var decimalIndex = strAmt.indexOf("."); if(precision > 0 && decimalIndex < 0) { decimalIndex = strAmt.length; strAmt += '.'; } // add any required zeros to decimal part while(decimalIndex + precision + 1 > strAmt.length) { strAmt += '0'; } return strAmt; } document.write(formatTo(4.003, 2)); </script>
Call the formatTo function, passing the value to format and the precision (number of digits to the right of the decimal point.
More Java Script Code:
• JavaScript Cookbook
• JavaScript Code for Binary to Hexadecimal - Hexadecimal to Binary Conversion
• Let Your Web site Visitors Set Font Size
• JavaScript to Generate a Random Number Between X and Y
• Code for Java Script Cylinder / Cone Volume Calculator
• A Cross-Browser Solution for Handling JavaScript Events
• Java Script to Get Selected Item from Drop-down Select List
• Calculators For Your Web Site
• JavaScript Code for Binary to Decimal - Decimal to Binary Conversion
• Regular Expressions Lookarounds