CurrencyFormatter è una libreria Open Source scritta in JavaScript per la formattazione valutaria, in sostanza consente di restituire in output il valore di una somma di denaro in un determinato formato e indipendentemente dalla moneta di riferimento. Attualmente CurrencyFormatter supporta ben 155 valute e 715 localizzazioni, il tutto attraverso un package che se GZippato pesa circa 7 KB.
La libreria può essere scaricata dal code hosting di GitHub e prelevata via Git tramite la clonazione del repository, il alternativa è possibile installarla attraverso npm o bower per poi includerla nel proprio progetto in versione completa o minificata:
La formattazione valutaria avviene tramite il metodo OSREC.CurrencyFormatter.format() a cui passare come parametri il valore da formattare e le variabili che devono determinare la formattazione; l'esempio seguente mostra come impostare le variabili per la formattazione di una cifra espressa in Euro con localizzazione italiana, migliaia separate tramite il punto fermo e virgola per la separazione dai decimali:
var parameters =
{
currency: 'EUR',
symbol: '€',
locale: 'it',
decimal: ',',
group: '.',
pattern: '#,##0.00 !'
}
I parametri definiti dall'utilizzatore determinano l'override di quelli di default; come impostazione predefinita infatti CurrencyFormatter ha il dollaro americano quale valuta di riferimento e di conseguenza il suo simbolo. In mancanza di override il pattern per la formattazione segue le regole dello standard Unicode, quindi adotta la virgola per la separazione delle migliaia e il punto per i decimali, mentre il punto esclamativo indica la posizione del simbolo della valuta.
Non è comunque necessario determinare l'override di tutti i parametri i default, se per esempio si desidera specificare unicamente la valuta da utilizzare e la localizzazione si può agire in questo modo:
OSREC.CurrencyFormatter.format(123456, { currency: 'EUR', locale: 'it' });