     }
 
     /**
+     * Format the specified number, nicely, with commas.
+     * TODO: format specifyer, locale handling, etc. We'll probably move this into a
+     * NumberFormat-style class.
+     */
+    public static function formatNumber (n :Number) :String
+    {
+        var postfix :String = "";
+        var s :String = n.toString(); // use standard to-stringing
+
+        // move any fractional portion to the postfix
+        const dex :int = s.lastIndexOf(".");
+        if (dex != -1) {
+            postfix = s.substring(dex);
+            s = s.substring(0, dex);
+        }
+
+        // hackily add commas
+        while (s.length > 3) {
+            postfix = "," + s.substring(s.length - 3) + postfix;
+            s = s.substring(0, s.length - 3);
+        }
+        return s + postfix;
+    }
+
+    /**
      * Parse a Number from a String, throwing an ArgumentError if there are any
      * invalid characters.
      *

     */
    public static function parseNumber (str :String) :Number
    {
        var originalString :String = str;

        if (str == null) {
            throw new ArgumentError("Cannot parseNumber(null)");
        }

        }

        // let Flash do the actual conversion
        return parseFloat(noCommas);
    }

    /**
