42

So I have a script which returns a price for a product. However the price may or may not include trailing zeros so sometimes I might have:

258.22

and other times I might have

258.2

In the later case I need to add the trailing zero with jQuery. How would I go about doing this?

Nathan Pitman
  • 2,256
  • 4
  • 29
  • 45
  • Possible duplicate of [Format number to always show 2 decimal places](https://stackoverflow.com/questions/6134039/format-number-to-always-show-2-decimal-places) – Liam Aug 06 '18 at 15:28

3 Answers3

108

You can use javascript's toFixed method (source), you don't need jQuery. Example:

var number = 258.2;    
var rounded = number.toFixed(2); // rounded = 258.20

Edit: Electric Toolbox link has succumbed to linkrot and blocks the Wayback Machine so there is no working URL for the source.

albert
  • 8,048
  • 3
  • 45
  • 62
rosscj2533
  • 8,965
  • 7
  • 40
  • 55
12

Javascript has a function - toFixed - that should do what you want ... no JQuery needed.

var n = 258.2;
n.toFixed (2);  // returns 258.20
dbrown0708
  • 4,374
  • 4
  • 24
  • 22
6

I don't think jQuery itself has any string padding functions (which is what you're looking for). It's trivial to do, though:

function pad(value, width, padchar) {

    while (value.length < width) {
        value += padchar;
    }
    return value;
}

Edit The above is great for strings, but for your specific numeric situation, rosscj2533's answer is the better way to go.

Community
  • 1
  • 1
T.J. Crowder
  • 959,406
  • 173
  • 1,780
  • 1,769