7

How can i format currency related data in a manner that is culture aware in JavaScript?

kjv
  • 11,047
  • 34
  • 101
  • 140

4 Answers4

3

So I know this is an old question, but incase anyone else shows up looking for similar answers, in modern JavaScript you can use

new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(number)

For more info here is the reference doc.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat

Hans
  • 89
  • 1
  • 8
2

Dojo has a currency formatter that's locale aware.

If you don't want to include Dojo in your project just for this function, then perhaps you can localize the currency in your back-end?

sherbang
  • 15,696
  • 1
  • 22
  • 16
  • 2
    I believe the Dojo currecy formatting is based on XML data from the Unicode Common Locale Data Repository (http://unicode.org/cldr). While Dojo will do the hard work for you, if you don't want to use it you can get the raw data from there. – georgebrock Sep 09 '08 at 10:54
0

Number.toLocaleString (implemented in JavaScript 1.5, ECMAScript 3rd Edition)

var number = 3500;
console.log(number.toLocaleString()); /* Displays "3,500" in English locale */

Docs on MDN.

laktak
  • 57,064
  • 17
  • 134
  • 164
-4

There is the Number.localeFormat() function, but I'm not sure it's what you're after.

http://msdn.microsoft.com/en-gb/library/bb310813.aspx

Michael M.
  • 10,486
  • 9
  • 18
  • 34
Christian Hagelid
  • 8,275
  • 4
  • 40
  • 63