Grow your CSS skills. Land your dream job.

Last updated on:

Format Currency

This function will round numbers to two decimal places, and ensure that the returned value has two decimal places. For example 12.006 will return 12.01, .3 will return 0.30, and 5 will return 5.00

function CurrencyFormatted(amount) {
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

Comments

  1. If you want a smaller function:

    
    function currency(N){N=parseFloat(N);if(!isNaN(N))N=N.toFixed(2);else N='0.00';return N;}
    
    // >> currency("-14"): "-14.00" 
    

    If you want a smaller, more inline alternative, you can do this:

    
    // Right after you declare your number (N), the rest of the line does the formatting.
    var N=24.686; N=parseFloat(N);if(!isNaN(N))N=N.toFixed(2);else N='0.00';
    // >> N: "24.69"
    

    -Chase

    • Hey, here’s myself from the future. I re-gazed upon this, and further improved things:

      function currency(n){n=parseFloat(n);return isNaN(n)?false:n.toFixed(2);}

      currency(2); //--> '2.00'
      currency(3.253); //--> '3.25'
      currency(3.257); //--> '3.26'
      
      currency("3.2"); //--> '3.20'
      currency("butts"); //--> false
      
  2. Andras
    Permalink to comment#

    Is it a css trick?

Leave a Comment

Posting Code

  • Use Markdown, and it will escape the code for you, like `<div class="cool">`.
  • Use triple-backticks for blocks of code.
    ``` 
    <div>
      <h1>multi-line block of code</h1>
      <span>be cool yo.</span>
    </div>
    ```
  • Otherwise, escape your code, like <code>&lt;div class="cool"&gt;</code>. Markdown is just easier though.

Current ye@r *

*May or may not contain any actual "CSS" or "Tricks".