Price formatting

by Paweł Niemczyk

JavaScript

var thousands_separator = ',';
var decimal_mark = ".";

function format(amount, thousands_separator, decimal_mark) {
    return amount.toFixed(2).replace(/./g, function(c, i, a) {
        return i > 0 && c !== decimal_mark && (a.length - i) % 3 === 0 ? thousands_separator + c : c;
    });
}

var numbers = [1, 12, 123, 1234, 12345, 123456, 1234567, 12345.67];

document.write("<p>Price formatting</p>");
for (var i = 0; i < numbers.length; i++) {
    document.write("£" + format(numbers[i], thousands_separator, decimal_mark) + "<br />");
}