-2

I have a string like

3500587

it's a product price and i want to know, is it possible to format it like

3,500,587

throw Jquery or not?

motevalizadeh
  • 5,244
  • 14
  • 61
  • 108

1 Answers1

2

There is no built-in function for that. You can use either use a third-party library or do this manually:

String.prototype.moneyStringPrettify = function(splitCount, separator) {
  var newString = "";
  for (var i = 0; i < this.length; i++) 
  {
    if (i > 0 && i % splitCount === 0) newString = separator + newString;
    newString = this[this.length - 1 - i] + newString;
  }
  return newString;
};

document.body.innerHTML = "1234567".moneyStringPrettify(3, ',') + "<br/>";
document.body.innerHTML += "123456".moneyStringPrettify(3, ',') + "<br/>";
document.body.innerHTML += "12345".moneyStringPrettify(3, ',') + "<br/>";

// Just another usage:
document.body.innerHTML += "1234567890".moneyStringPrettify(4, '-') + "<br/>";
Yeldar Kurmangaliyev
  • 33,467
  • 12
  • 59
  • 101