Number Fromatter

Posted by druva | Uncategorized | Wednesday 19 November 2008 2:30 pm

Number Fromatter

This is the sample script to show how to use the class

import druva.NumberUtil;
//formatNumber(num, decimals_separator, thousands_separator, zero_count)
trace(NumberUtil.formatNumber(3545268, '.', ',', 2));

Actual Class

package druva{
	import flash.display.Sprite;

	public class NumberUtil extends Sprite {
		public function NumberUtil() {
		}

		public static function addZeroes(number, decimals_separator, count) {
			var nStrArr:Array=String(number).split(decimals_separator);
			nStrArr[1] = (nStrArr[1]==undefined && count>0) ? '0' : nStrArr[1];
			if (nStrArr[1].length<count) {
				nStrArr[1]=nStrArr[1]+"0";
				return (druva.NumberUtil.addZeroes(nStrArr[0] + decimals_separator + nStrArr[1], decimals_separator, count));
			} else if (nStrArr[1] != undefined) {
				return (nStrArr[0] + decimals_separator + nStrArr[1]);
			} else {
				return (nStrArr[0]);
			}
			return 0;
		}
		public static function formatNumber(num, decimals_separator, thousands_separator, zero_count) {
			decimals_separator = (decimals_separator==undefined) ? "," : decimals_separator;

			thousands_separator = (thousands_separator==undefined) ? " " : thousands_separator;

			var negStr = (num<0) ? "-" : "";

			num=Math.abs(num);

			var pla5=num.toString();
			var pla2=pla5.split(".");
			var pla="";
			var pla4=pla2[0].toString();
			for (var i = pla4.length; i >= 0; i = i - 3) {
				if (i!=pla4.length) {
					if (i!=0) {
						pla=pla4.substring(i-3,i)+thousands_separator+pla;
					} else {
						pla=pla4.substring(i-3,i)+pla;
					}// end else if
					continue;
				}// end if
				pla=pla4.substring(i-3,i);
			}// end of for
			if (pla2[1]!=undefined) {
				pla=pla+decimals_separator+pla2[1];
			}// end if
			pla=negStr+pla;
			if (zero_count!=undefined&&zero_count>0&&pla!="0") {
				pla=addZeroes(pla,decimals_separator,zero_count);
			}// end if
			return (pla);
		}

	}
}