I've been pulling my hair out trying to figure out the best way to format numbers in a DataGrid. I've got a dataProvider with fields used in the grids that are of type "Number" -- some are currency, some are integers, and some are numbers that need to be formatted to 1 decimal point.
In other places in my application, I'm using a custom function to format numbers: public function format_number(num : Number, format : String) : String { var formatter : NumberFormatter = new NumberFormatter(); var str : String; switch (format) { case "currency": formatter.precision = 2; formatter.useThousandsSeparator = true; str = "$" + formatter.format(num); break; case "percent": formatter.precision = 1; formatter.useThousandsSeparator = true; str = formatter.format(num*100) + "%"; break; case "decimal2": formatter.precision = 2; formatter.useThousandsSeparator = false; str = formatter.format(num); break; case "cuft": formatter.precision = 1; formatter.useThousandsSeparator = true; if (num < 0) { num = 0 } str = formatter.format(num); break; default: str = String(num); break; } return str; } However, I can't figure out a way to utilize this function on my DataGrid columns. I've tried creating both inline and external itemRenderer components, but in both cases I don't see a way to inject the required Actionscript into the itemRenderer component -- I keep getting compile errors when I try to use an mx:Script block in the component. Anyone know of a way to make this work?