aboutsummaryrefslogtreecommitdiffstats
path: root/test/addcomma.awk
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-07-16 13:09:56 +0300
committerArnold D. Robbins <arnold@skeeve.com>2010-07-16 13:09:56 +0300
commitbc70de7b3302d5a81515b901cae376b8b51d2004 (patch)
treed36d6743e65697f6923b79d0ea8f9f9bf4ef7398 /test/addcomma.awk
parentb9e4a1fd4c8c8753ab8a9887bab55f03efe1e3e2 (diff)
downloadegawk-bc70de7b3302d5a81515b901cae376b8b51d2004.tar.gz
egawk-bc70de7b3302d5a81515b901cae376b8b51d2004.tar.bz2
egawk-bc70de7b3302d5a81515b901cae376b8b51d2004.zip
Move to gawk-3.1.0.
Diffstat (limited to 'test/addcomma.awk')
-rw-r--r--test/addcomma.awk15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/addcomma.awk b/test/addcomma.awk
new file mode 100644
index 00000000..8f52f36b
--- /dev/null
+++ b/test/addcomma.awk
@@ -0,0 +1,15 @@
+# addcomma - put commas in numbers
+# input: a number per line
+# output: the input number followed by
+# the number with commas and two decimal places
+
+{ printf("%-12s %20s\n", $0, addcomma($0)) }
+
+function addcomma(x, num) {
+ if (x < 0)
+ return "-" addcomma(-x)
+ num = sprintf("%.2f", x) # num is dddddd.dd
+ while (num ~ /[0-9][0-9][0-9][0-9]/)
+ sub(/[0-9][0-9][0-9][,.]/, ",&", num)
+ return num
+}