Nei carrelli di e-commerce gestiti lato client da JavaScript, un'operazione fondamentale è quella di formattare i valori monetari. Vediamo come implementare una semplice funzione di utility.
La nostra funzione è la seguente:
function formatCurrency(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;
}
La nostra funzione accetta come parametro un numero e restituisce una stringa contenente la cifra formattata con le varie posizioni decimali. Esempio:
var formattedCurrency = formatCurrency(12567);
alert(formattedCurrency); // 12567.00