currency formatter ActionScript 3
The below code shows how to format currency string using Action Script
import druva.StringUtils; trace(StringUtils.formatCurrency(4586.50, '@')); trace(StringUtils.formatCurrency(-5058, 'INR')); trace(StringUtils.formatCurrency(12, "$"));
Have a look at the class
package druva{
import flash.display.Sprite;
public class StringUtils extends Sprite {
public function StringUtils() {
}
public static function formatCurrency(n:Number, Symbol:String='$'):String {
var neg:Boolean = (n < 0) ? true : false;
n = Math.abs(n);
var dollars:Number=Math.floor(n);
var decm:Number = Math.round(100 * (n - dollars));
if (decm==100) {
decm=0;
dollars++;
}
var SymStr:String=String(dollars);
var decmStr:String;
var SymStr2:String="";
for (var i = 0; i < SymStr.length; i++) {
if (i>0&&i%3==0) {
SymStr2=","+SymStr2;
}
SymStr2=SymStr.substr(- i-1,1)+SymStr2;
}
if (decm==0) {
decmStr="00";
} else if (decm < 10) {
decmStr="0"+decm;
} else {
decmStr=String(decm);
}
var retString:String;
if(Symbol == 'INR') {
retString = (neg) ? "-" : "";
retString += SymStr2 + "." + decmStr + ' ' + Symbol;
} else {
retString = (neg) ? ("-" + Symbol) : ("" + Symbol);
retString += SymStr2 + "." + decmStr;
}
return retString;
}
}
}