×

Please give details of the problem

Skip to content

How to format numbers and currencies

1
2
3
4
5
6
7
8
9
<#-- super_amount = 23442.897 -->

<@script env="javascript">
Number.prototype.formatMoney = function(c, d, t, p){
var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
   return p + s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};
print(parseFloat(super_amount).formatMoney(2, '.', ',', '£ '));
<!--@script-->

will return

1
£ 23,442.90

See also How to format numbers and currencies in Freemarker