commify — add thousands separator to a number, and trim to specified number of decimal places
The filter adds a thousands separator to a number, and trims decimal places to a specified maximum length.
Example: Filter example
[set online_commify_test]1234567890.123456[/set] [filter op=commify.2 interpolate=1][scratchd online_commify_test][/filter]Example in action:
1,234,567,890.12
Interchange 5.9.0:
Source: code/Filter/commify.filter
Lines: 18
# Copyright 2002-2007 Interchange Development Group and others
# Copyright 1996-2002 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version. See the LICENSE file for details.
CodeDef commify Filter
CodeDef commify Description Commify
CodeDef commify Routine <<EOR
sub {
my ($val, $tag, $places) = @_;
$places = 2 unless defined $places;
$val = sprintf("%.${places}f", $val) if defined $places;
return Vend::Util::commify($val);
}
EOR