CurrencyFilter class
Formats a number as a currency (ie $1,234.56). When no currency symbol is provided, '$' used.
Usage:
{{ number_expression | number[:fractionSize] }}
@NgFilter(name:'currency') class CurrencyFilter { NumberFormat nf = new NumberFormat(); CurrencyFilter() { nf.minimumFractionDigits = 2; nf.maximumFractionDigits = 2; } /** * [value]: the value to format * * [symbol]: Symbol to use. * * [leading]: Symbol should be placed in front of the number */ call(value, [symbol = r'$', leading = true]) { if (value is String) value = double.parse(value); if (!(value is num)) return value; if (value.isNaN) return ''; var neg = value < 0; if (neg) value = -value; var before = neg ? '(' : ''; var after = neg ? ')' : ''; if (leading) { return '$before$symbol${nf.format(value)}$after'; } else { return '$before${nf.format(value)}$symbol$after'; } } }
Constructors
Properties
NumberFormat nf #
NumberFormat nf = new NumberFormat()
Methods
dynamic call(value, [symbol = r'$', leading = true]) #
value: the value to format
symbol: Symbol to use.
leading: Symbol should be placed in front of the number
call(value, [symbol = r'$', leading = true]) { if (value is String) value = double.parse(value); if (!(value is num)) return value; if (value.isNaN) return ''; var neg = value < 0; if (neg) value = -value; var before = neg ? '(' : ''; var after = neg ? ')' : ''; if (leading) { return '$before$symbol${nf.format(value)}$after'; } else { return '$before${nf.format(value)}$symbol$after'; } }